使用Linux stat命令创建灵活的文件清单

D3Damon / Getty Images

统计command提供了很多关于文件的详细信息。

它不仅提供最近文件更改的日期/时间,而且还显示最近访问文件和权限更改的时间。它以字节和块的形式告诉您文件大小。它显示文件使用的inode以及文件类型。它按名称和UID/GID包括文件所有者和关联的用户组。它以“rwx”(称为“人类可读”格式)和数字形式显示文件权限。在一些系统上,它甚至可能包含文件创建的日期和时间(称为它的“诞生”)。

除了提供所有这些信息统计命令还可以用于创建文件清单。这些清单非常灵活,您可以选择包含上面描述的任何或所有信息。

要生成自定义清单,只需使用统计命令的- c(或——格式)选项,并指定您想包含的字段。例如,要创建显示这两种可用格式的文件权限的列表,可以使用以下命令:

$ stat -c '%n %a %a ' my* my。mydir 775 drwxrwxr-x myfile 664 - rwrwr -r- mylog 664 - rwrwr -r- myscript 755 -rwxr-xr-x mytext 664 - rwrwr -r- mytext. mytwin 50 -rw-r- myword 664 - rwrwr -r- r-

正如你在上面的例子中看到的,% n表示文件名,%的权限以八进制和表示%的的权限特权的形式。完整的列表如下所示。

若要为此命令创建别名,请键入此定义或将此定义添加到您的. bashrc文件:

$别名ls_perms="stat -c '%n %a %a '"

创建一个非常接近于所提供的长列表的清单ls - l这样做:

$ stat -c '%A %h %U %G %s %y %n' my* -rw-rw-r- 1 shs shs 255 2020-04-01 16:20:00.899374215 -0400 my。横幅drwxrwxr-x 2啦啦4096 2020-09-07 12:50:20.224470760 -0400 mydir -rw-rw-r——1啦啦6 -0400 11:12:00.460355387 2020-05-16 myfile lrwxrwxrwx -0400啦啦11 2020-05-28 18:49:21.666792608 myjunk -rw-rw-r啦啦——655 -0500 15:56:08.540540488 2020-01-14 mykey -rw-rw-r——1啦啦8 -0500 17:13:21.406874246 2020-03-04 mylog -rwxr-xr-x 201 -0400 12:50:41.316745867 2020-09-07 myscript啦啦啦啦40 2019-06-06 08:54:09.538663323 -rw-rw-r——-0400 mytext -rw-rw-r啦啦24 - 12019-06-06 08:48:59.652712578 -0400 mytext.bak -rw-r----- 2 shs shs 228 2019-04-12 19:37:12.790284604 -0400 mytwin -rw-rw-r-- 1 shs shs 1983 2020-08-10 14:39:57.164842370 -0400 mywords

不同之处包括:1)不尝试将字段排列在可识别的列中,2)日期在a中yyyy-mm-dd格式,3)相当精确的时间字段和4)增加时区(-0400是EDT)。

如果您想查看文件列表,根据他们最后一次访问的日期(例如,显示与命令),使用这样的命令:

stat - c % n % x '我的美元* |排序k2 mytwin 2019-04-22 11:25:20.656828964 -0400 mykey 2020-08-20 16:10:34.479324431 -0400 mylog 2020-08-20 16:10:34.527325066 -0400 myfile 2020-08-20 16:10:57.815632794 -0400 mytext.bak 2020-08-20 16:10:57.935634379 -0400 mytext 2020-08-20 16:15:42.323391985 -0400 mywords 2020-08-20 16:15:43.479407259 -0400 myjunk 2020-09-07 10:04:26.543980300 -0400 myscript 2020-09-07 12:50:41.312745815 -0400我。banner 2020-09-07 13:22 38.105826116 -0400 mydir 2020-09-07 14:53:10 171867194 -0400

用于列出文件详细信息的字段选项统计包括:

  • %a -八进制访问权限(注意“#”和“0”printf标志)
  • %A -人类可读形式的访问权限
  • %b -分配的块数(见%b)
  • %B - %B报告的每个块的字节数大小
  • %C - SELinux安全上下文字符串
  • %d—设备编号(十进制)
  • %D -设备编号(十六进制)
  • %f -十六进制的raw模式
  • %F -文件类型
  • %g -所有者的组ID
  • %G -所有者的组名
  • %h -硬链接的数量
  • i -索引节点数
  • %m—挂载点
  • %n -文件名
  • %N -引用的文件名,如果是符号链接则取消引用
  • %o -最佳I/ o传输大小提示
  • %s -总大小,以字节为单位
  • %t -主要设备类型(十六进制),用于字符/块设备特殊文件
  • %T -用十六进制表示的次要设备类型,用于字符/块设备特殊文件
  • %u -所有者的用户ID
  • %U -所有者的用户名
  • % w -文件出生的时间,人类可读;——如果未知
  • %W -文件诞生的时间,从纪元开始的秒数;如果未知
  • % x -最后一次访问的时间,人类可读的
  • %X -最后一次访问的时间,自纪元以来的秒数
  • %y -上次数据修改的时间,人类可读
  • %Y -上次数据修改的时间,自纪元以来的秒数
  • %z -最后一次状态更改的时间,人类可读
  • %Z -上次状态更改的时间,自纪元以来的秒

这些字段选择都列在手册页中,您可以任意选择,不过使用您首选的详细信息创建一些别名将为您省去很多麻烦。有些选项,如SELinux安全上下文字符串,将不可用,除非该选项在系统上使用。文件生成只有在系统保留该信息时才可用。

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对最重要的话题发表评论。
相关:

版权©2020足球竞彩网下载

工资调查:结果在