UNIX / Linux / Mac OSX获得文件的许可作为号码

时间:2013-02-13 13:04:32

标签: macos posix file-permissions

这一定非常简单,但完全是空白。我可以通过使用ls -la来查看文件的权限,这可以提供类似的内容:

-rwxr-xr-x   1 james  staff   68  8 Feb 13:33 basic.sh*
-rw-r--r--   1 james  staff   68  8 Feb 13:33 otherFile.sh*

如何将其转换为与chmod chmod 755 otherFile.sh一样使用的数字(不进行手动转换)。

2 个答案:

答案 0 :(得分:23)

stat -f "%Lp" [filename]适用于OS X 10.8。

答案 1 :(得分:2)

您应该能够使用stat命令而不是ls。通过查看manpage,这应该可以获得文件权限:

for f in dir/*
do
    perms=$(stat -f '0%Hp%Mp%Lp' $f)
    echo "$f has permissions $perms"
done

(虽然我目前不在我的Mac上,因此无法测试它。)