比较两个文件夹内容的所有者和权限?

Modified on: Fri, 01 Nov 2019 15:40:02 +0800

如何比较两个文件夹内容的所有者和权限?有没有像diff命令那样递归比较两个文件夹并显示所有者和权限差异?

作者:,J.Olufsen

最佳答案

与所有事情一样,解决方案是perl脚本:

#!/usr/bin/perl use File::Find; my $directory1 = '/tmp/temp1'; my $directory2 = '/tmp/temp2'; find(\&hashfiles, $directory1); sub hashfiles { my $file1 = $File::Find::name; (my $file2 = $file1) =~ s/^$directory1/$directory2/; my $mode1 = (stat($file1))[2] ; my $mode2 = (stat($file2))[2] ; my $uid1 = (stat($file1))[4] ; my $uid2 = (stat($file2))[4] ; print "Permissions for $file1 and $file2 are not the same\n" if ( $mode1 != $mode2 ); print "Ownership for $file1 and $file2 are not the same\n" if ( $uid1 != $uid2 ); }

请参阅http://perldoc.perl.org/functions/stat.htmlhttp://perldoc.perl.org/File/Find.html了解更多信息info,特别是stat,如果你想比较其他文件属性。

如果directory2中不存在但存在于directory1中的文件,则还会输出,因为stat会有所不同。

作者:cjc

相关问答

添加新评论