linux - 使用 ssh 比较目录

标签 linux shell ssh diff

我的笔记本电脑上有一个目录 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/

相关文章:

java - 如何在 Linux 的 java 程序中打开包含 GUI 的 .bat?

linux - 使用 uuencode,如何在发送时重命名附加的文件?

linux - 为什么 Linux RT 不使用信号量?

shell - 你如何移动文件而不是 hdfs 中的目录?

如果文件中存在另一个字符串,Linux bash 脚本将更改一个字符串

linux - 设置自定义 shell 脚本和目录的权限

Unix C Shell 脚本 printf 帮助

linux - 无法在 AWS 中进行 SSH

python - 通过本地 ssh 配置 (~/.ssh/config) 的 PyCharm SSH 隧道

linux - 远程 ssh 命令未退出