在我的 Solaris 计算机上,我有时使用该sum
命令来验证文件是否未更改。我现在想检查目录的内容是否已更改但sum
仅在文件上运行。
有没有办法sum
在整个目录上运行或类似的命令?
sum
文件示例:
$ sum file.xml
27247 11 file.xml
答案1
1)做一个参考:
find . -type f -exec sum {} \; | sort -k3 > /my/reference.txt
2)进行运行时检查
find . -type f -exec sum {} \; | sort -k3 | diff /my/reference.txt -
在哪里
sort -k3
对文件名进行排序diff
部分将显示文件已更改、添加或删除。
答案2
使用 tar 创建目录的 tarball,然后对其运行 sum。
tar cf - <directory name> | sum -
答案3
在 Solaris 上的tar
工作方式有所不同。因此,要么使用gtar
GNU 的解决方案,tar cf -
要么使用 Miline 的解决方案:
tar cf - folder | sum