【发布时间】:2019-01-10 17:05:22
【问题描述】:
我想使用 perl File::Find::Rule 来查找服务器中具有 perms 777 的文件
我知道该模块有统计测试,所以我可以简单地这样做:
$rule->mode(33279)
假设 File::Find::Rule 采用十进制,我通过创建文件并在其上打印权限找到了 33279?还是应该以某种方式格式化?
这是让所有文件都具有 777 权限的正确方法吗?
这是一个在测试服务器的主目录中查找所有文件的脚本。我想更改它,以便它只查找具有 777 权限的文件。
#!/usr/bin/perl
use strict;
use warnings;
use File::Find::Rule;
my $rule = File::Find::Rule->new;
$rule->file;
$rule->name( '*' );
my @files = $rule->in( "/root" );
for my $file (@files) {
my $mode = (stat $file)[2];
printf ("%04o %s\n",$mode & 07777, $file);
}
【问题讨论】: