我需要将备份文件从/mnt/backup/etc复制到/etc,因此cp/mnt/backup/etc*是我正在考虑的命令。
然而,经验告诉我,cp/mnt/backup/etc*可能是对文件系统的破坏性命令,因为在CentOS7版本的这个新安装上可能存在来自repos的文件的不同,但是存在于/mnt/backup/etc*或其他我不知道的差异中。
我正在考虑一个命令,如果文件中存在差异,它将比较目录的文件和输出文件。从这里,我可以确定哪些文件要从/mnt/backup/etc不还原(如果有的话)。
不知道该怎么做,已经有段时间了。我认为我使用wc命令输出文件之间的差异,但不确定如何比较两个文件之间的差异。
发布于 2021-11-05 16:01:59
有几种预先执行比较的选项:
rsync标志运行rsync的-n将首先执行“试运行”,使您能够查看要复制哪些文件,以便在必要时进行手动调整。rsync -nvahHSEi /mnt/ /etc /etc/*/etc将是首次运行,并将输出更多关于某个文件为什么需要复制的信息(大小/修改日期的差异.)。如果差异很小,您可以在不使用n的情况下重新运行该命令,以执行实际的“还原”操作。diff您不仅可以使用两个文件运行diff,而且还可以使用两个目录作为参数,它将显示哪些文件不同,哪些文件的内容不同(至少对于文本文件),哪些文件仅存在于这两种路径中的一条路径中。使用与-r选项递归下降到子目录。正如@Olivier所指出的,您可以首先在目录上运行diff -q,只显示不同文件的列表(没有实际差异)。meld --这是一个基于GUI的比较工具,它还允许您确定两个目录之间的差异。https://unix.stackexchange.com/questions/676333
复制相似问题