在 Linux 中将 rwx 权限转换为八进制格式
有时您可能会发现以八进制形式显示文件或目录的访问权限而不是 rwx 很有用,或者您可能想同时显示两者。
在大多数现代 Linux 发行版(如果不是全部)中,您会发现 stat
是一个显示文件或文件系统状态的实用程序,而不是使用旧的 ls -l
命令。
当不带参数但后跟给定文件名运行时,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
– 表示八进制形式的访问权限
或者,如果您想显示 rwx< 中的权限,您可以将
格式也是如此。%a
附加到 %A
,即传递给 stat 的参数。
在这种情况下,您可以输入:
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
在本技巧中,我们介绍了一个名为 stat 的重要 Linux 实用程序,它可以帮助您显示文件或文件系统状态。我们这里的主要重点是将 rwx
访问权限从传统的 ls -l
输出转换为八进制形式。
正如我之前提到的,许多现代 Linux 发行版现在都带有 stat 实用程序。但您还必须记住,您的 shell 可能带有自己的 stat 版本,因此请参阅您的 shell 文档以获取有关选项及其使用方法的更多信息。