如何不使用ls -l查看文件的权限

时间:2019-11-20 08:53:21  来源:igfitidea点击:

使用GNU stat命令也可以查看文件的权限。还可以查看文件更多的状态。

查看/etc/passwd文件的信息

执行以下命令:

$ stat /etc/passwd

输出:

File: `/etc/passwd'
  Size: 1675            Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 7899368     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2007-12-05 08:20:31.000000000 +0530
Modify: 2007-12-04 23:36:50.000000000 +0530
Change: 2007-12-04 23:36:50.000000000 +0530

以八进制格式显示文件的权限:

$ stat -c %a /etc/passwd

将文件权限以八进制格式保存到shell变量中:

$ VAR=$(stat -c %a /etc/passwd)
$ echo $VAR

stat命令格式

  • %b:分配的块数(请参见%B)
  • %B:报告的每个块的大小(以字节为单位)
  • %d:十进制设备号
  • %C:SELinux安全上下文
  • %D:十六进制设备号
  • %f:十六进制的原始模式
  • %F:文件类型
  • %g:所有者的组标识
  • %G:所有者的组名
  • %h:硬链接数
  • %i:索引节点号
  • %n:文件名
  • %N:引用的文件名,如果是符号链接则取消引用
  • %o:I/O块大小
  • %s:总大小,以字节为单位
  • %t:十六进制的主要设备类型
  • %T:次设备类型,十六进制
  • %u:所有者的用户标识
  • %U:所有者的用户名
  • %x:上次访问时间
  • %X:自纪元以来的最后访问时间(以秒为单位)
  • %y:上次修改时间
  • %Y:自纪元以来的最后修改时间,以秒为单位
  • %z:上次更改时间
  • %Z:自纪元以来的最后更改时间,以秒为单位