本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Linux下的stat命令用于查看文件属性、inode等信息
查看文件inode信息
- File:显示文件名
- Size:显示文件大小
- Blocks:文件使用的数据块总数
- IO Block:IO块大小
- regular file:文件类型(常规文件) ,如果是其他文件类型会显示出对应的文件类型
- Device:设备编号
- Inode:Inode号
- Links:链接数
- Access:文件的权限
- Gid、Uid:文件所有权的Gid和Uid。
- Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
- Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
- Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。
常见参数
-L, --dereference follow links 如果是链接文件,则获取原文件信息 -Z, --context print the security context information if available 打印SElinux安全上下文信息 -f, --file-system display file system status instead of file status 显示文件所在的文件系统的状态 -c --format=FORMAT use the specified FORMAT instead of the default; output a newline after each use of FORMAT 自定义输出格式,结尾有换行 --printf=FORMAT like --format, but interpret backslash escapes, and do not output a mandatory trailing newline. If you want a newline, include \n in FORMAT. 自定义输出格式,结尾无换行符,需手动添加 -t, --terse print the information in terse form 以简洁的形式打印输出信息(在没有改变输出格式的情况下)
格式代码
%A 用文件权限代码表示,如-rw-r--r--
%a 用八进制数字表示文件权限
%b 占用的区块数量
%B 用%b计算区块数量时,每一区块的大小,预设是512bytes
%D 用16进制表示设备编号
%d 用10进制表示设备编号
%F 文件形态,即文件类型
%f raw mode以16进制表示
%G 文件拥有者的组名
%g 文件拥有着的群组编号
%h 硬链接的数量
%i inode编号
%N 将符号链接的文件明和其指向的文件的文件名,用引号包含,'1.sh'->'h.sh'
%n 文件名
%o IO区块的大小,预设是4096bytes
%s 文件大小
%T 16进制表示Minor次要设备代码
%t 16进制表示Major主要设备代码
%U 文件拥有者的使用者名称
%u 文件拥有者的使用者编号
%X 取用时间,用1900.1.1至取用时间的秒数
%x 取用时间
%Y 修改时间,类似取用时间
%y 修改时间
%Z 属性改动时间
%z 属性改动时间
获取文件大小
[root@localhost ~]# stat -c %s file