一、基本介绍
stat命令是Linux中一个用来显示文件的状态信息的命令,可以查看文件的各种属性信息,包括最后访问时间、最后修改时间、最后状态改变时间等,也可以查看文件的大小信息、生成文件的设备号和文件编号等。
二、命令参数
stat命令的基本语法如下:
stat [OPTION]... FILE...
其中OPTION为命令附加的参数,可以用一些参数来改变stat命令的输出格式等。下面列举一些常用的参数:
1、-L或--dereference
如果遇到符号链接文件则显示链接所指向的文件的信息。
例如:$ stat -L /var/run File: ‘/var/run’ -> ‘/run’ Size: 11 Blocks: 0 IO Block: 4096 symbolic link Device: 801h/2049d Inode: 123610 Links: 2 Access: (0775/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2022-03-17 22:06:06.930160768 -0400 Modify: 2022-03-14 15:36:08.445717454 -0400 Change: 2022-03-17 22:05:58.757991267 -0400 Birth: -
2、-f
显示文件所在文件系统的信息。
例如:$ stat -f /home File: "/home" ID: 0 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 30901628 Free: 11881205 Available: 9977406 Inodes: Total: 7864320 Free: 7309640 Used: 554680
3、-c或--format
可以自定义输出格式,使用“%s”、“%n”等参数代表文件大小、文件名等元素,方便用户查看。
例如:$ stat -c "%n:size=%s bytes" /etc/passwd /etc/passwd:size=2994 bytes
4、-t
以简短格式输出文件信息。
例如:$ stat -t /etc/passwd /etc/passwd 1000 0x81a2 0x00 0 0 0
5、-q
用于屏蔽错误信息的输出。
例如:$ stat -q /grub.cfg
三、命令示例
1、查看文件信息
使用命令“stat 文件名”可以查看文件的各种属性信息:
$ stat /etc/passwd File: ‘/etc/passwd’ Size: 2994 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 2037449 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2022-03-17 11:54:35.022715339 -0400 Modify: 2022-03-17 11:54:34.978302840 -0400 Change: 2022-03-17 11:54:34.978302840 -0400 Birth: -
2、查看文件大小
使用命令“stat -c %s 文件名”可以查看文件的大小信息:
$ stat -c %s /etc/passwd 2994
3、查看文件修改时间
使用命令“stat -c %y 文件名”可以查看文件的修改时间信息:
$ stat -c %y /etc/passwd 2022-03-17 11:54:34.978302840 -0400
4、以不同格式查看文件信息
使用“stat -L -c %y,%s,%n 文件名”命令可以输出以自定义格式的文件信息:
$ stat -L -c %y,%s,%n /etc/ssh/ssh_config 2022-03-17 09:05:11.000000000 -0400,2134,/etc/ssh/ssh_config
总结
通过本篇文章的介绍,相信大家已经了解了stat命令的用途和常见的参数含义。在Linux中,stat命令是我们查看文件详细信息的常用工具之一,在运维工作中也会被广泛使用。