在 Linux 系统中,stat 命令用于显示指定文件或文件系统的文件状态信息,包括文件的类型、权限、大小、所属用户和组、访问时间、修改时间、创建时间等详细信息。它可以用于检查文件的状态以及了解文件的属性。
语法
stat [选项] 文件名
常用选项
- -c:指定输出格式;
- -f:显示文件系统状态而非文件状态;
- -t:使用简短格式输出。
输出格式控制符
stat命令有两个选项,可让您根据需要自定义命令的输出,分别是-c/--format="format"和--printf="format"
- %a八进制访问权限,%A 友好的权限阅读格式,%b 使用的块数,%B块的大小。
- %CSELinux安全上下文字符串,%d十进制的设备号,%D 十六进制的设备号,%f十六进制原始模式,%F 文件类型。
- %g所属组ID,%G所数组的名称,%h 硬链接数,%iinode号码,%m挂载点,%n文件名称,%N引用的文件名称。
- %o最佳 I/O 传输大小提示,%s总大小,以字节为单位,%t 十六进制的主要设备类型。
- %T十六进制的主要设备类型,%u所有者的用户 ID,%U所有者的用户名,%w文件创建时间,友好的阅读时间格式。%W文件创建时间,Unix时间戳,
- %x最后访问时间,友好的阅读时间格式。%X文件最后访问时间,Unix时间戳,%y文件修改时间,友好的阅读时间格式。
- %Y文件修改时间,Unix时间戳。%z最后更改时间,友好的阅读时间格式,%Z文件更改时间,Unix时间戳。
实例
$ stat file.txt
File: file.txt
Size: 11 Blocks: 8 IO Block: 4096 regular file
Device: 10304h/66308d Inode: 1734218 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2023-03-14 12:30:00.000000000 +0800
Modify: 2023-03-14 12:30:00.000000000 +0800
Change: 2023-03-14 12:30:00.000000000 +0800
Birth: -
Linux下的三个时间:
- Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间。
- Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
- Change Time:简写为ctime,表示文件的属性状态时间,当文件的属性状态被修改时,更新这个时间。(如:文件的链接数,大小,权限,Blocks数)
上述命令将显示文件 `file.txt`的相关信息