前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 Linux 上使用 stat 命令查看文件状态

在 Linux 上使用 stat 命令查看文件状态

原创
作者头像
用户4988085
发布2022-06-15 09:31:23
2.4K0
发布2022-06-15 09:31:23
举报
文章被收录于专栏:建站知识建站知识

在 GNU coreutils 软件包中包含 stat 命令,它提供了关于文件和文件系统包括文件大小、节点位置、访问权限和 SELinux 上下文,以及创建和修改时间等各种元数据。通常情况下,你需要多个不同命令获取的信息,而这一个命令就可以实现。

在 Linux 上安装 stat 命令

在 Linux 系统中,可能已经预装了 stat 命令,因为它属于核心功能软件包,通常默认包含在 Linux 发行版里。

如果系统中没有安装 stat 命令,你可以使用包管理器安装 coreutils 软件包。

获取文件状态

运行 stat 命令可以获取指定文件或目录易读的状态信息。

代码语言:javascript
复制
$ stat planets.xmlFile: planets.xmlSize: 325Blocks: 8     IO Block: 4096   regular fileDevice: fd03h/64771dInode: 140217Links: 1Access: (0664/-rw-rw-r--)  Uid: (1000/tux)   Gid: (100/users)Context: unconfined_u:object_r:user_home_t:s0Access: 2021-08-1718:26:57.281330711+1200Modify: 2021-08-1718:26:58.738332799+1200Change: 2021-08-1718:26:58.738332799+1200Birth: 2021-08-1718:26:57.281330711+1200

输出的信息易懂,但是包含了很多的信息,这里是 stat 所包含的项:

◈ File:文件名

◈ Size:文件大小,以字节表示

◈ Blocks:在硬盘驱动器上为文件保留的数据块的数量

◈ IO Block:文件系统块大小

◈ regular file:文件类型(普通文件、目录、文件系统)

◈ Device:文件所在的设备

◈ Inode:文件所在的 Inode 号

◈ Links:文件的链接数

◈ AccessUIDGID:文件权限、用户和组的所有者

◈ Context:SELinux 上下文

◈ AccessModifyChangeBirth:文件被访问、修改、更改状态以及创建时的时间戳

精简输出

对于精通输出或者想要使用其它工具(例如:awk🔗 opensource.com)解析输出的人,这里可以使用 --terse(短参数为 -t)参数,实现没有标题或换行符的格式化输出。

代码语言:javascript
复制
$ stat --terse planets.xmlplanets.xml 325881b4100977100 fd03 14021710016291816171629181618162918161816291816174096 unconfined_u:object_r:user_home_t:s0

自定义格式

你可以使用 --printf 参数以及与 printf🔗 opensource.com 类似的语法定义自己的输出格式。stat 的每一个属性都有一个格式序列(%C 表示 SELinux 上下文,%n 表示文件名等等),所以,你可以定义输出格式。

代码语言:javascript
复制
$ stat --printf="%n\n%C\n" planets.xmlplanets.xmlunconfined_u:object_r:user_home_t:s0$ $ stat --printf="Name: %n\nModified: %y\n" planets.xmlName: planets.xmlModified: 2021-08-1718:26:58.738332799+1200

下面是一些常见的格式序列:

◈ %a 访问权限

◈ %F 文件类型

◈ %n 文件名

◈ %U 用户名

◈ %u 用户 ID

◈ %g 组 ID

◈ %w 创建时间

◈ %y 修改时间

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档