当前位置:   article > 正文

Linux基础命令-stat显示文件的状态信息_linux stat

linux stat

文章目录

stat

命令介绍

语法格式

基本参数 

测试三个时间的变化过程

1)使用cat命令

2)使用echo命令

3)使用chmod命令

4)使用vim命令

参考实例

1)显示文件的状态信息

2)以简洁的形式显示状态信息

3)显示文件的文件系统信息

4)以指定样式显示文件的各个信息

5)显示命令的帮助信息

命令总结

stat

命令介绍

        先到帮助文档中了解命令的含义

NAME
       stat - display file or file system status

stat(status)命令主要功能是显示文件或文件系统的状态信息,显示了文件大小,权限信息,硬链接,软连接,inode号,SELinux上下文,以及三个时间信息。还可通过这三个时间来查看文件有没有被修改过文件内容。

三个时间分别是:

  • ATIME:文件最后访问时间
  • MTIME:文件最后修改时间
  • CTIME:文件最后改动时间

语法格式

stat的语法格式:stat 【参数】文件

SYNOPSIS
       stat [OPTION]... FILE...

下面来看下命令的参数有哪些。

基本参数 

命令的基本参数有以下信息,表格形式呈现

-L支持显示符号链接的文件
-f显示文件系统的信息

-t

显示简洁的信息
--help显示帮助信息
-c <format>显示指定的样式

-c参数指定的样式有:

  • %a        :显示文件的八进制权限
  • %A        :显示以人类可读的权限形式(rwx)
  • %b        :显示已分配的块数(block)
  • %B        :显示每个扇区的大小
  • %C        :显示安全上下文信息
  • %d        :显示文件在磁盘中的十进制设备编号
  • %D        :显示文件在磁盘中的十六进制设备编号
  • %f         :显示文件十六进制原始模式
  • %F        :显示文件类型
  • %g        :显示用户的GID
  • %G        :显示用户的属组(组名称)
  • %h        : 显示文件的硬链接数量
  • %i          : 显示文件的inode值
  • %m        :显示文件所在的挂载点
  • %n        : 显示文件名
  • %N        :显示文件是否是链接文件,是则显示源文件
  • %o        :显示I/O的传输大小
  • %s        :显示文件的总大小,以字节bit为单位
  • %t         :显示以十六进制表示的主要设备类型,用于字符和块设备的文件
  • %T        :显示以十六进制表示的次要设备类型,用于字符和块设备的文件
  • %u        :显示用户的UID
  • %U        :显示用户的属主(用户名称)
  • %w        :以人类可读显示文件诞生的时间,-表示未知
  • %W        :显示文件诞生的时间,从纪元开始的秒数,若为0表示未知
  • %x         :显示文件最后的访问时间
  • %X        : 显示从1970年1月1日到最后访问的秒数
  • %y         : 显示文件最后的修改时间
  • %Y         : 显示从1970年1月1日到最后修改的秒数
  • %z          :显示文件最后的改动时间
  • %Z          : 显示从1970年1月1日到最后改动的秒数

测试三个时间的变化过程

首先先创建一个文件出来,使用stat查看文件三个时间

可以看到文件一创建出来三个时间是显示一致的,那么我们就做下测试,看使用什么命令会修改对应的时间。

1)使用cat命令

使用cat命令会修改文件的访问时间,看看会发生什么变化

只有访问时间发生了变化

  1. [root@localhost ~]# cat a.txt
  2. [root@localhost ~]# stat -c %x a.txt
  3. 2023-02-27 11:09:44.616235228 +0800

2)使用echo命令

使用echo命令往文件中写入内容

访问时间没有变化,而更改时间和改动时间有变化。

  1. [root@localhost ~]# echo "123456" > a.txt
  2. [root@localhost ~]# stat a.txt
  3. 文件:"a.txt"
  4. 大小:7 块:8 IO 块:4096 普通文件
  5. 设备:fd00h/64768d Inode:67259305 硬链接:1
  6. 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
  7. 环境:unconfined_u:object_r:admin_home_t:s0
  8. 最近访问:2023-02-27 11:09:44.616235228 +0800
  9. 最近更改:2023-02-27 11:13:13.167684191 +0800
  10. 最近改动:2023-02-27 11:13:13.167684191 +0800
  11. 创建时间:-

3)使用chmod命令

使用chmod改变文件权限

改动时间发生了变化,其他的还是之前显示的时间

  1. [root@localhost ~]# chmod 777 a.txt
  2. [root@localhost ~]# stat a.txt
  3. 文件:"a.txt"
  4. 大小:7 块:8 IO 块:4096 普通文件
  5. 设备:fd00h/64768d Inode:67259305 硬链接:1
  6. 权限:(0777/-rwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)
  7. 环境:unconfined_u:object_r:admin_home_t:s0
  8. 最近访问:2023-02-27 11:09:44.616235228 +0800
  9. 最近更改:2023-02-27 11:13:13.167684191 +0800
  10. 最近改动:2023-02-27 11:15:42.960443170 +0800

4)使用vim命令

使用vim后,若最后是使用:wq(保存退出)的方式,则三个时间都会修改,当然进入文件只是阅读一下,退出时只使用:q(退出),文件只会修改访问时间。

  1. [root@localhost ~]# vim a.txt
  2. [root@localhost ~]# stat a.txt
  3. 文件:"a.txt"
  4. 大小:11 块:8 IO 块:4096 普通文件
  5. 设备:fd00h/64768d Inode:67259305 硬链接:1
  6. 权限:(0777/-rwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)
  7. 环境:unconfined_u:object_r:admin_home_t:s0
  8. 最近访问:2023-02-27 11:18:04.376103776 +0800
  9. 最近更改:2023-02-27 11:19:00.856767012 +0800
  10. 最近改动:2023-02-27 11:19:00.856767012 +0800
  11. 创建时间:-
  12. [root@localhost ~]# vim a.txt
  13. [root@localhost ~]# stat a.txt
  14. 文件:"a.txt"
  15. 大小:11 块:8 IO 块:4096 普通文件
  16. 设备:fd00h/64768d Inode:67259305 硬链接:1
  17. 权限:(0777/-rwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)
  18. 环境:unconfined_u:object_r:admin_home_t:s0
  19. 最近访问:2023-02-27 11:21:21.261415749 +0800
  20. 最近更改:2023-02-27 11:19:00.856767012 +0800
  21. 最近改动:2023-02-27 11:19:00.856767012 +0800
  22. 创建时间:-

参考实例

1)显示文件的状态信息

显示文件的信息,可以看到有以下的一些信息内容。 

  1. [root@localhost ~]# stat anaconda-ks.cfg
  2. 文件:"anaconda-ks.cfg"
  3. 大小:1365 块:8 IO 块:4096 普通文件
  4. 设备:fd00h/64768d Inode:67144899 硬链接:1
  5. 权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
  6. 环境:system_u:object_r:admin_home_t:s0
  7. 最近访问:2023-02-08 00:02:25.953010917 +0800
  8. 最近更改:2023-02-08 00:02:25.954010917 +0800
  9. 最近改动:2023-02-08 00:02:25.954010917 +0800
  10. 创建时间:-

2)以简洁的形式显示状态信息

虽然说是简洁了许多,不过看起来并不是很清晰每个数值含义。 

  1. [root@localhost ~]# stat -t anaconda-ks.cfg
  2. anaconda-ks.cfg 1365 8 8180 0 0 fd00 67144899 1 0 0 1675785745 1675785745 1675785745 0 4096 system_u:object_r:admin_home_t:s0

3)显示文件的文件系统信息

  1. [root@localhost ~]# stat -f anaconda-ks.cfg
  2. 文件:"anaconda-ks.cfg"
  3. ID:fd0000000000 文件名长度:255 类型:xfs
  4. 块大小:4096 基本块大小:4096
  5. 块:总计:9201265 空闲:8092007 可用:8092007
  6. Inodes: 总计:18411520 空闲:18277918

4)以指定样式显示文件的各个信息

这里列举几个比较常用到的样式,因为实在太多了,当然也可以自己尝试去显示每个样式显示的内容是什么。

  1. [root@localhost ~]# stat -c %a 1.txt
  2. 644
  3. [root@localhost ~]# stat -c %A 1.txt
  4. -rw-r--r--
  5. [root@localhost ~]# stat -c %B 1.txt
  6. 512
  7. [root@localhost ~]# stat -c %b 1.txt
  8. 8
  9. [root@localhost ~]# stat -c %x 1.txt
  10. 2023-02-27 09:12:37.948477716 +0800
  11. [root@localhost ~]# stat -c %y 1.txt
  12. 2023-02-27 09:12:54.618199506 +0800
  13. [root@localhost ~]# stat -c %z 1.txt
  14. 2023-02-27 09:12:54.618199506 +0800

5)显示命令的帮助信息

  1. [root@localhost ~]# stat --help
  2. 用法:stat [选项]... 文件...
  3. Display file or file system status.
  4. Mandatory arguments to long options are mandatory for short options too.
  5. -L, --dereference follow links

命令总结

        stat命令使用起来还是比较容易,一般直接使用命令加文件即可显示文件的状态信息了,若觉得以上内容还行的,可以点赞支持一下!

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/523183
推荐阅读
相关标签
  

闽ICP备14008679号