在 Linux 系统中,stat 命令用于显示指定文件或文件系统的文件状态信息,包括文件的类型、权限、大小、所属用户和组、访问时间、修改时间、创建时间等详细信息。它可以用于检查文件的状态以及了解文件的属性。
语法
stat [选项] 文件名
常用选项
- -c:指定输出格式;
- -f:显示文件系统状态而非文件状态;
- -t:使用简短格式输出。
输出格式控制符
- %a:文件权限(包括 SUID、SGID 和 sticky 位);
- %A:与 %a 相同,但是忽略最高位的数字(即特殊权限位);
- %b:文件所占用的块数(单位为 512 字节);
- %B:文件所占用的块数(单位为 1 字节);
- %C:SELinux 安全上下文字符串;
- %d:文件所在的设备编号;
- %D:文件所在设备的十六进制表示;
- %f:文件名;
- %F:文件类型(例如:目录、字符设备、块设备、符号链接等);
- %g:文件所属组的数字 ID;
- %G:文件所属组的名称;
- %h:符号链接所指向的文件名(如果当前文件是符号链接);
- %i:文件的 inode 编号;
- %m:文件的修改时间;
- %n:文件名;
- %N:符号链接指向的文件名(如果当前文件是符号链接);
- %o:文件的八进制数权限;
- %s:文件的大小(单位为字节);
- %t:文件类型的数字编码;
- %T:与 %F 相同,但是使用大写字母;
- %u:文件所属用户的数字 ID;
- %U:文件所属用户的名称;
- %w:文件的访问时间;
- %x:文件的访问时间;
- %y:文件的修改时间;
- %z:文件的修改时间;
- %N:完整的文件名,包括引号和转义字符。
实例
$ stat file.txtFile: file.txtSize: 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 +0800Birth: -
上述命令将显示文件 `file.txt`的相关信息