约 8749 字

约 44 分钟

#Bash 的 stat 命令

stat [OPTION]... FILE...

功能

查看文件的状态。

类型

可执行文件(/usr/bin/sleep),属于 coreutils。

参数

  • OPTION 选项:
    • -L, --dereference - 查看符号链接的源文件,而非符号链接自身
    • -f, --file-system - 查看文件系统的状态
    • --cached=MODE - 指定怎样使用缓存属性(常用于远程文件系统)
    • -c, --format=FORMAT - 使用指定的格式,并且每个格式后输出一个换行符
    • --printf=FORMAT - 类似 --format=FORMAT 且会解析转移字符,但不会自动换行
    • -t, --terse - 使用简明的格式
    • --help - 显示帮助
    • --version - 显示版本
  • FILE - 文件列表

#格式说明

用于文件的有效格式

格式符含义
%a权限位的八进制表示(注意 # 和 0 printf 标志)
%A权限位和文件类型的可读形式
%b已分配的块数(参见 %B)
%B%b 所报告的每个块的字节数
%CSELinux 安全上下文字符串
%d设备号(十进制,st_dev)
%D设备号(十六进制,st_dev)
%Hd主要设备号(十进制)
%Ld次要设备号(十进制)
%f原始模式(十六进制)
%F文件类型
%g所有者的组 ID
%G所有者的组名
%h硬链接数
%iinode 号
%m挂载点
%n文件名
%N文件名(带引号,如果是符号链接则解除引用)
%o最优 I/O 传输大小提示
%s总大小(字节)
%r设备类型(十进制,st_rdev)
%R设备类型(十六进制,st_rdev)
%Hr字符/块设备特殊文件的主要设备类型(十进制)
%Lr字符/块设备特殊文件的次要设备类型(十进制)
%t字符/块设备特殊文件的主要设备类型(十六进制)
%T字符/块设备特殊文件的次要设备类型(十六进制)
%u所有者的用户 ID
%U所有者的用户名
%w文件创建时间(可读);未知则为 -
%W文件创建时间,自 Epoch 起的秒数;未知则为 0
%x最后访问时间(可读)
%X最后访问时间,自 Epoch 起的秒数
%y最后数据修改时间(可读)
%Y最后数据修改时间,自 Epoch 起的秒数
%z最后状态改变时间(可读)
%Z最后状态改变时间,自 Epoch 起的秒数

用于文件系统的有效格式

格式符含义
%a非超级用户可用的空闲块数
%b文件系统中的数据块总数
%c文件系统中的文件节点总数
%d文件系统中空闲的文件节点数
%f文件系统中的空闲块数
%i文件系统 ID(十六进制)
%l文件名的最大长度
%n文件名
%s块大小(用于加快传输速度)
%S基本块大小(用于块计数)
%t文件系统类型(十六进制)
%T文件系统类型(可读形式)

#示例

$ stat 1.txt        # 默认格式
  File: 1.txt
  Size: 62        	Blocks: 8          IO Block: 4096   regular file
Device: 259,2	Inode: 60559096    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   planc)   Gid: ( 1000/   planc)
Access: 2025-12-04 14:08:58.127960041 +0000
Modify: 2025-12-04 14:08:57.155939186 +0000
Change: 2025-12-04 14:08:57.160939293 +0000
 Birth: 2025-12-04 14:08:57.155939186 +0000
$ stat -t 1.txt     # 简明格式
1.txt 62 8 81b4 1000 1000 10302 60559096 1 0 0 1764857338 1764857337 1764857337 1764857337 4096

#推荐阅读

#手册

更新: 2026/1/18

作者: PlanC

创建: 2025/12/4