如果我执行以下命令:
cp -R /myfiles /mydestination
如果myfiles
包含多个子目录和文件,那么按照什么顺序复制它们?
例如,目录可能被命名为 0123a, 9993c, myfolder, xfolder
。
ls
据我所知,它们不是按照字母顺序、日期顺序或使用标准命令时出现的顺序复制的,那么实际上是什么决定了顺序?
编辑:我试图确定 cp 命令使用的顺序,以确定我的复制命令在停止之前执行了多远。例如,我希望能够确定它成功复制了 4 个目录中的 3 个。
答案1
它们在文件系统中存储/返回的顺序。对于“未分类”的文件系统,这通常是它们的创建顺序。对于“已排序”的文件系统(例如带有 的 ext3/4 dir_index
),这将是文件系统索引中使用的顺序。
答案2
我们遇到了完全相同的问题。我们将大量数据复制到 USB 驱动器或从 USB 驱动器复制,但无法知道该过程完成到什么程度,这很烦人。因此,我们开始使用 RSYNC。
而不是使用cp -Rv /source /destination
改用此rsync -av /source /destination
现在,您的所有文件夹及其内容都将按字母顺序处理,并且您可以轻松查看文件复制的进度。
我们有这个解决方案的完整描述,请访问我们的在线备份网站。
版主请注意:我之前发过一次,但被删除了,可能是因为我的回答不够详细,或者是因为链接。也许你会接受这个更详细的答案。