Linux命令:stat命令

这篇具有很好参考价值的文章主要介绍了Linux命令:stat命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 简介

stat命令:显示文件或文件系统的状态

2 说明

使用:stat [OPTION]… FILE
常用选项:

  • -L, --dereference:如果一个文件是一个链接文件,显示链接指向的文件的信息。不加-L时,默认显示的是链接文件本身
  • -f, --file-system:显示文件系统的状态而不是文件本身的状态
  • -c --format=FORMAT:按照FORMAT输出内容;输出内容末尾会自动换行
  • -c --printf=FORMAT:和–format类似,不过末尾不输出换行符
  • -t, --terse:以简洁的形式输出,具体的每个FORMAT代表什么参考下面
  • 文件输出内容为:%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C
  • 文件系统输出内容为:%n %i %l %t %s %S %b %f %a %c %d,需要在-t后跟选项:–file-system

文件的FORMAT:

  • %a:八进制的权限位,如:644
  • %A:以人类可读的形式显示权限位和文件类型
  • %b:分配的块数
  • %B:分配的大小
  • %C:SELinux安全上下文字符串
  • %d:十进制设备编号
  • %D:十六进制的设备编号
  • %F:文件类型
  • %g:属组的gid
  • %G:属组的组名
  • %h:硬链接数
  • %i:inode号
  • %m:挂载点
  • %n:文件名
  • %N:带引号的文件名,如果是符号链接则解除引用
  • %s:文件大小,单位是bytes
  • %u:属主的uid
  • %U:属主的用户名
  • %w:文件创建时间,人类可读;-未知
  • %W:文件创建时间,自纪元以来的秒数;0表示未知
  • %x:上次访问时间,人类可读
  • %X:上次访问时间,从Epoch到现在的秒数
  • %y:上次修改数据的时间,人类可读
  • %Y:上次修改数据的时间,距离Epoch的秒数
  • %z:上一次状态改变的时间,人类可读
  • %Z:上次状态改变的时间,从Epoch到现在的秒数

文件系统的FORMAT:

  • %a:非超级用户可用的空闲块
  • %b:文件系统中数据块总数
  • %c:文件系统中文件节点总数
  • %d:文件系统中文件节点的空闲数
  • %f:文件系统中空闲的块
  • %i:十六进制文件系统ID
  • %n:文件名
  • %s:块大小(用于更快的传输)
  • %S:基本块大小(用于块计数)
  • %t:十六进制文件系统类型
  • %T:文件系统类型,人类可读的形式

3 实例

-L:显示链接指向的文件的信息

root@con01:~# ln -s a1 a2
root@con01:~# ln a1 a3

root@con01:~# ls
a1  a2 a3 haproxy-2.8.5  haproxy-2.8.5.tar.gz  lua-5.4.6.tar.gz  snap  test

# 原文件
root@con01:~# stat a1
  File: a1
  Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-02 10:35:38.045956495 +0000
 Birth: 2024-02-02 10:35:38.045956495 +0000
# 对于链接文件,默认显示的是链接文件本身 --》 软链接
root@con01:~# stat a2
  File: a2 -> a1
  Size: 2               Blocks: 0          IO Block: 4096   symbolic link
Device: 803h/2051d      Inode: 787982      Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-08 07:40:29.763718140 +0000
Modify: 2024-02-08 07:40:28.523696058 +0000
Change: 2024-02-08 07:40:28.523696058 +0000
 Birth: 2024-02-08 07:40:28.523696058 +0000

 # 硬链接  
root@con01:~# stat a3
  File: a3
  Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-08 08:48:35.164126097 +0000
 Birth: 2024-02-02 10:35:38.045956495 +0000


# 使用-L选项  
root@con01:~# stat -L a2
  File: a2
  Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-08 08:48:35.164126097 +0000
 Birth: 2024-02-02 10:35:38.045956495 +0000
root@con01:~# stat -L a1
  File: a1
  Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-08 08:48:35.164126097 +0000
 Birth: 2024-02-02 10:35:38.045956495 +0000

对输出内容的解释:

  • File: a2:文件名
  • Size: 82:文件大小,82字节
  • Blocks: 8:文件系统上为该文件分配了 8 个块。注意,这里的“块”大小可能因文件系统而异,但通常是 4096 字节,可以从IO Block中看出来
  • regular file:文件类型,此处显示是一个普通文件。directory为目录,symbolic link为软连接等
  • Device: 803h/2051d:文件所在的设备的主设备号和次设备号。
  • Inode: 787977:inode号
  • Links: 2:链接数
  • Access: (0644/-rw-r–r–):文件权限
  • Uid: ( 0/ root) :属主的id号和名字
  • Gid: ( 0/ root):属组的id号和名字
  • Access: 2024-02-02 10:35:40.894002209 +0000:上次访问文件的时间,如:打开文件,执行文件
  • Modify: 2024-02-02 10:35:38.045956495 +0000:上次修改文件内容的时间,如:给目录增加内容,修改文件内容
  • Change: 2024-02-08 08:48:35.164126097 +0000:状态改动时间,也就是上次改变文件的元数据(如权限、所有权等)的时间。对于许多文件系统,Change时间与Modify时间有可能相同,但在某些情况下,它们可能会有所不同
  • Birth: 2024-02-02 10:35:38.045956495 +0000:文件的创建时间。但是,请注意,并非所有的文件系统都支持“Birth”时间,并且在某些文件系统或平台上,这个字段可能没有意义或不可用。

扩展:文件系统中的文件数据分为两类,元数据和数据

  • 元数据:用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息等等。
  • 数据:是指普通文件中的实际数据。
  • stat输出的Modify指的是修改文件数据,而Change指的是修改文件的元数据

-f:显示文件系统信息

stat -f a1
  File: "a1"
    ID: ff67a29b7db6b99a Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 9468520    Free: 7428126    Available: 6939102
Inodes: Total: 2424832    Free: 2287587

参数解释:文章来源地址https://www.toymoban.com/news/detail-830724.html

  • File: “a1”:文件名
  • ID: ff67a29b7db6b99a:文件系统的唯一标识符(UUID)
  • Namelen: 文件名
  • Type: ext2/ext3:文件系统类型
  • Block size: 4096:块大小
  • Fundamental block size: 4096:基本块大小
  • Blocks: Total: 9468520 Free: 7428126 Available: 6939102
    • Total: 9468520:文件系统中总共的块数
    • Free: 7428126:文件系统中未使用的块数
    • Available: 6939102:在不影响文件系统性能的情况下,可以分配给新文件的块数。
  • Inodes: Total: 2424832 Free: 2287587
    • Total: 2424832:文件系统中总的inodes数
    • Free: 2287587:文件系统中未使用的 inode 数

-t:以简洁的形式输出

stat -t a1
a1 82 8 81a4 0 0 803 787977 1 0 0 1706870140 1706870138 1706870138 1706870138 4096
# 输出内容如下
# --terse: %n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C
# --terse --file-system: %n %i %l %t %s %S %b %f %a %c %d
# 具体每个参数代表什么可以参考说明

到了这里,关于Linux命令:stat命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(79)
  • linux服务器禁止ping命令,linux服务器禁ping如何解除

      我是艾西,在我们搭建网站或做某些程序时,不少人会问禁ping是什么意思,怎么操作的对于业务有哪些好处等,今天艾西一次给你们说清楚。 禁PING的意思是:不允许电脑、设备或服务器使用PING功能。一般情况下电脑、防火墙、服务器都是允许PING功能的,不需要特别设置

    2023年04月20日
    浏览(48)
  • [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程,本期为大家按照本专栏的基本内容进行多方面的测评。

    2024年02月07日
    浏览(89)
  • Linux 命令|服务器相关

    【精选】在公共Linux服务器上创建自己的python虚拟环境_服务器创建自己的环境-CSDN博客 1. nvidia-smi命令详解-CSDN博客 2. 查看进程 top 和 ps 啥区别? ps 可以查看所有状态的进程? top 实时查看运行态的进程? 在本地 Mac 计算机的终端中,使用以下命令将文件上传到服务器 其中,

    2024年02月07日
    浏览(49)
  • Linux查看服务器配置命令

    往往在操作中需要查看服务器配置,简单罗列了一些相关命令,欢迎补充。 1、查看 cpu信息 2、查看内存信息 3、 查看CPU 4、查看操作系统信息 5、查看centos版本信息 6、查看磁盘使用情况 7、查看其它磁盘外设信息 8、查看所有可用块设备的信息 9、查看所有硬件信息 10、查看

    2024年02月07日
    浏览(64)
  • Linux 配置常见服务器命令

    Linux常见配置服务器的命令整理,基于Centos 7 。 配置web nginx msyql 这里再附一份nginx详细配置文件(一般用于项目部署):

    2024年02月16日
    浏览(46)
  • Linux服务器移动文件命令

    mv(move) 命令可以将文件和目录从一个位置 移动 到另一个位置;         它也可以用来 重命名 文件和目录。 mv命令语法         source 可以是一个或多个文件或目录;         destination 总是一个文件或目录;         如果我们以单个文件为源,以一个目录为目标

    2023年04月25日
    浏览(59)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(56)
  • Linux服务器常见运维性能测试(3)CPU测试super_pi、sysbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月02日
    浏览(52)
  • linux服务器启动、关闭、重启命令

    关机命令: 1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启 5、init0 停机或者关机 重启命令: 1、reboot 立即重启 2、shutdown -r now 立刻重启(root用户使

    2024年02月15日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包