在 Linux 中将 rwx 权限转换为八进制格式
有时您可能会发现以八进制形式显示文件或目录的访问权限很有用,或者rwx
您可能希望同时显示两者。
ls -l
在大多数现代 Linux 发行版(如果不是全部)中,您都会发现stat
一个显示文件或文件系统状态的实用程序,而不是使用旧的命令。
当不带参数但后跟给定文件名运行时,stat
将显示大量有关文件或目录的信息。如果与选项一起使用-c
,stat允许您指定输出格式。正是这个选项让我们特别感兴趣。
要显示当前工作目录中的所有文件以及以八进制形式显示的访问权限,请输入:
# stat -c '%n %a' *
示例输出
add_emails.sh 755 anaconda-ks.cfg 600 delete_emails.sh 755 employee-dump.sql 644 index.html 644 latest.tar.gz 644 nrpe-2.15.tar.gz 644 php7 644 playbook.retry 644
在上面的命令中,格式顺序为:
%n
– 表示文件名%a
– 表示八进制形式的访问权限
或者,如果您也想以格式显示权限,则可以将传递给stat 的参数附加%a
到其中。%A
rwx
在这种情况下,您可以输入:
# stat -c '%n %A' *
示例输出
add_emails.sh -rwxr-xr-x anaconda-ks.cfg -rw------- delete_emails.sh -rwxr-xr-x employee-dump.sql -rw-r--r-- index.html -rw-r--r-- latest.tar.gz -rw-r--r-- nrpe-2.15.tar.gz -rw-r--r-- php7 -rw-r--r-- playbook.retry -rw-r--r--
为了在输出中查看文件类型,可以添加%F
格式序列。
# stat -c '%c %F %a'
您可以指定其他几种格式序列,请参阅页面stat man
以了解更多信息。
# man stat
在本技巧中,我们介绍了一个重要的 Linux 实用程序stat,它可以帮助您显示文件或文件系统的状态。我们的主要重点是将rwx
访问权限从传统ls -l
输出转换为八进制形式。
正如我之前提到的,许多现代 Linux 发行版现在都附带stat实用程序。但您还必须记住,您的 shell 可能附带其自己的stat版本,因此请参阅您的 shell 文档以获取有关选项及其使用方法的更多信息。