专栏首页建站知识在 Linux 上使用 stat 命令查看文件状态
原创

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

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

在 Linux 上安装 stat 命令

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

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

获取文件状态

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

$ 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)参数,实现没有标题或换行符的格式化输出。

$ stat --terse planets.xmlplanets.xml 325881b4100977100 fd03 14021710016291816171629181618162918161816291816174096 unconfined_u:object_r:user_home_t:s0

自定义格式

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

$ 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 修改时间

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    在 GNU coreutils 软件包中包含 stat 命令,它提供了关于文件和文件系统包括文件大小、节点位置、访问权限和 SELinux 上下文,以及创建和修...

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

    在 GNU coreutils 软件包中包含 stat 命令,它提供了关于文件和文件系统包括文件大小、节点位置、访问权限和 SELinux 上下文,以及创建和修...

    用户4988085
  • 使用 stat 命令在 Linux 上检查文件状态

    stat命令包含在 GNUcoreutils包中,提供了各种元数据,包括文件大小、inode 位置、访问权限和 SELinux 上下文,以及关于文件和文件系统的...

    施主-借个火
  • linux 查看I/O状态的常用命令

    介绍下linux的3个常用I/O相关命令,解决I/O压力过大问题时很有用 iostat 查看磁盘的I/O状态 iotop 查看I/O进程排名 lsof 查...

    dys
  • 在 Linux 上使用 lspci 命令查看硬件情况

    由于访问权限,普通用户运行 lspci 时显示的信息可能会受限,因此可以使用 sudo 运行命令,系统会给出完整的信息图。

    用户4988085
  • 使用 lspci 命令在Linux 上查看硬件情况

    当你在个人电脑或服务器上运行 Linux 时,有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 p...

    用户9042463
  • 在 Linux 上使用 lspci 命令查看硬件情况

    当你在个人电脑或服务器上运行 Linux 时,有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。

    用户9239730
  • 在 Linux 上使用 lspci 命令查看硬件情况

    当你在个人电脑或服务器上运行 Linux 时,有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 p...

    用户9105998
  • 使用 find 命令在 Linux 上查找文件和目录

    该find命令由POSIX 规范定义,该规范创建了衡量 POSIX 系统(包括 Linux、BSD 和 macOS)的开放标准。简而言之,find只要您运行的是...

    施主-借个火
  • 在Linux中使用find命令行查找文件

    find是一个基于条件机制递归过滤文件系统中对象的命令。使用find搜索文件系统中的文件或目录。使用-exec标志,可以在同一命令中找到并立即处理文件。

    大瓜皮
  • 使用sestatus命令来查看SELinux的当前状态

    sestatus命令将显示SELinux启用状态。还显示有关SELinux的其他信息,在此进行说明。以下是CentOS 8系统上的sestatus命令:

    用户7639835
  • 较为全面的-Linux常用命令

    bash的命令执行状态保存在$?中,使用echo $? 就能够显示上一条命令的状态返回值。 状态返回值范围: 0:成功 1-255:失败

    马哥linux运维
  • 软件测试工程师必知必会Linux命令

    Linux系统有着众多的优点,比如开源、非商业版本免费、多任务多用户操作,因此Linux系统在非桌面领域占有压倒性的市场份额。对于互联网技术工作者来说,掌握常用...

    小小科
  • 如何理解与识别Linux中的文件类型

    众所周知,在 Linux 中一切皆为文件,包括硬盘和显卡等。在 Linux 中导航时,大部分的文件都是普通文件和目录文件。但是也有其他的类型,对应于 5 类不同...

    砸漏
  • Linux下查看binlog文件创建时间的命令

    MySQL在26日 16:23:49产生了大量的慢查询,在这段时间内,binlog文件刷新的很快(查看慢日志是mysql DML并发比较多),想知道写完一个bi...

    砸漏
  • Linux中常用的系统命令

    本期文章主要简单介绍Linux中常用的系统命令,包括:stat、who、whoami、hostname、uname、top、ps、du、df、ifconfig、...

    浩Coding
  • Linux中少见但很实用的命令

    使用Linux操作系统掌握耿简单有效操作命令当然是很重要的了,我们这篇文章就讲一讲那些少见但非常实用的Linux命令,以飨读者!

    浩Coding
  • linux使用wc命令查看文件行数、字母、字节数命令

    在linux中使用wc命令可以快速的查看一个或多个文件的行数、字母数、字节数,今天就来看一下wc命令应该怎样使用。 默认的不带参数是会显示3个属性,分别为行书、...

    用户1188347
  • Linux中使用命令more,less,cat查看文件内容

    Linux中命令cat、more、less均可用来查看文件内容;cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于...

    砸漏

扫码关注云+社区

领取腾讯云代金券