我需要将备份文件从复制到/mnt/backup/etc
,/etc
所以这cp/mnt/backup/etc*
就是我正在考虑的命令。
然而,经验告诉我,这cp/mnt/backup/etc*
可能是对文件系统的破坏性命令,因为来自存储库的文件可能存在差异,这些差异不在 CentOS7 版本的全新安装中,但存在/mnt/backup/etc*
或我不知道的其他差异。
我正在考虑一个命令,该命令将比较两个目录的文件,并在文件存在差异时输出。从那里我可以确定哪些文件/mnt/backup/etc
不恢复(如果有)。
不知道该怎么做,已经有一段时间了。我想我使用该wc
命令来输出文件之间的差异,但不确定如何比较两个文件之间的差异。
答案1
有多种选项可以预先进行比较:
rsync
rsync
使用该标志运行-n
将首先执行“试运行”,使您能够查看将复制哪些文件,以便您可以在必要时进行手动调整。rsync -nvahHSEi /mnt/backup/etc/* /etc
将是试运行,并且还将输出更多信息为什么某个文件需要复制(大小/修改日期不同......)。如果差异足够小,您可以重新运行该命令,而无需
n
全自动执行实际的“恢复”操作。diff
您
diff
不仅可以使用两个文件运行,还可以使用两个文件运行目录作为参数,它将显示哪些文件不同,它们的内容不同(至少对于文本文件),以及哪些文件仅存在于两个路径之一中。与选项一起使用-r
以递归地下降到子目录。正如@Olivier Dulac 所指出的,您可以首先diff -q
在目录上运行以仅显示不同文件的列表(没有实际差异)。meld
这是一个基于 GUI 的比较工具,还允许您确定两个目录之间的差异。