如果用rsync传输某个目录下的所有文件,rsync按照什么顺序来逐个传输文件?
起初看起来 rsync 是按字母顺序传输文件的,但后来我发现 rsync 在第一次按字母顺序扫描时跳过了一些文件,然后回过头来传输第一次跳过的文件,这次仍然按字母顺序排列。
感谢致敬!
答案1
我相信它会按照文件在目录项对应文件所在目录。这通常是文件添加到目录的顺序,但如果删除了某个文件,则其位置将被添加到目录中的下一个文件占用。您可以使用 来查看ls -f
。如果您真的对细节感兴趣,请尝试man readdir
在 Linux 或man dir
OS X 上查看。
答案2
我测试的时候它看起来是按字母顺序排列的。此外,根据man > 排序传输顺序,一些排序执行如下:
Rsync 总是将指定的文件名排序到其内部传输列表中……
或许,我们可以说至少 rsync 不只是遵循目录条目顺序。