我的笔记本电脑上有一个目录 dirA,在我可以ssh
的远程主机上有一个目录 dirB。这两个目录都包含子目录。
我想使用 ssh 比较两个子目录的全部内容。特别是,我想知道 dirA 中的哪些文件或子目录不在 dirB 中,反之亦然。这两个目录足够大,我不想通过 ssh
传输完整文件,只需比较它们的名称和位置即可。
你知道怎么做吗?
谢谢。
最佳答案
使用 rsync
和 --dry-run
选项;像这样的东西:
rsync -ar --dry-run local-dir/ user@remote:remote-dir
这将输出将被同步的文件列表。所以如果没有输出;没有区别。
编辑:您可能会考虑的两个选项:
--ignore-times
: 比较文件时忽略本地和远程文件的时间戳。--size-only
:如果你想加速 rsync 命令。 rsync 只比较文件的大小。请注意,这很容易出错(相同大小的文件可能不同)--itemize-changes
: 显示文件之间的变化
你可以看看this anwser
关于linux - 使用 ssh 比较目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094493/