如何找出目录的模式(权限)?
答案 0 :(得分:8)
$mode = (stat($filename))[2];
printf "Permissions are %04o\n", $mode & 07777;
答案 1 :(得分:5)
其他示例要求您知道模式是stat输出中的第三项(即[2])。 File :: stat允许您给出符号名称。
use File::stat ;
my $dir = '/etc/cron.d' ;
printf "%o", stat($dir) -> mode ;
答案 2 :(得分:2)
my $mode;
(undef, undef, $mode) = stat($directoryname);
答案 3 :(得分:0)
到目前为止答案很好。我希望增加一个好的模块。
大多数情况下,您只想知道文件的模式,以便以后可以对其进行操作。 use Fcntl qw(:mode)
或use POSIX qw(:sys_stat_h)
导出必要的常量,例如S_IXUSR
。我觉得这很笨拙,甚至容易出错,因为这是Perl中罕见的时间,你会遇到八进制数和位运算符的数学。
为此, File::chmod具有更好的界面,因为它可以让您表达更改