linux stat
程序员文章站
2022-06-19 11:33:21
...
用途:
stat命令用来查看文件信息
论述:
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
与文件相关的几个时间:
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
[[email protected] shelltest]# stat filesystemcheck.sh
File: “filesystemcheck.sh”
Size: 150 Blocks: 8 IO Block: 4096 一般文件
Device: 301h/769d Inode: 12256000 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-01-07 13:12:05.000000000 +0800
Modify: 2014-01-07 13:12:03.000000000 +0800
Change: 2014-01-07 13:12:03.0000
说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态
解释:
stat(status)
功能说明:显示inode内容。
补充说明:stat以文字的格式来显示inode的内容。
[email protected]:~# stat --help
用法:stat [选项]... 文件...
显示文件或文件系统的状态。
-L, --dereference跟随链接
-f, --file-system显示文件系统状态而非文件状态
-c --format=格式使用指定输出格式代替默认值,每用一次指定格式换一新行
--printf=格式类似 --format,但是会解释反斜杠转义符,不使用换行作
输出结尾。如果您仍希望使用换行,可以在格式中
加入"\n"
-t, --terse使用简洁格式输出
--help显示此帮助信息并退出
--version显示版本信息并退出
有效的文件格式序列(不使用 --file-system):
%a八进制权限
%A 用可读性较好的方式输出权限
%b 计算已分配块数(参见%B)
%B 以字节为单位输出%b 所报告的每个块的大小
%C SELinux 安全环境字符串
%d十进制设备编号
%D十六进制设备编号
%f十六进制原始模式
%F文件类型
%g文件的属组ID
%G文件的属组组名
%h硬链接数量
%iInode 编号
%n文件名
%N如果对象是一个符号链接,显示引用到的其它文件名
%oI/O 块大小
%s总计大小,以字节为单位
%t十六进制主设备类型
%T十六进制子设备类型
%u文件的属主ID
%U文件的属主用户名
%x上次访问时间
%X从UNIX 元年起计的上次访问时间
%y上次修改时间
%Y从UNIX 元年起计的上次修改时间
%z上次更改时间
%Z从UNIX 元年起计的上次更改时间
有效的文件系统格式序列:
%a非超级用户可用的剩余块数
%b文件系统的总数据块数
%c文件系统中文件节点总数
%d文件系统中空闲文件节点数
%f文件系统中空闲块数
%CSELinux 安全环境字符串
%i十六进制文件系统ID
%I允许的文件名最大长度
%n文件名
%s块大小(用于快速传输)
%S基本块大小(用于块计数)
%t十六进制类型描述
%T可读性较好的类型描述
示例
[[email protected] testshell]# stat -f -c '%T' /
ext2/ext3
[[email protected] testshell]# stat -f -c %T /
ext2/ext3
[[email protected] testshell]# stat -f %T /
stat: cannot read file system information for `%T': No such file or directory
File: "/"
ID: 1cbc925161e0f14 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 7488502 Free: 1611667 Available: 1231264
Inodes: Total: 1905008 Free: 1776613
[[email protected] testshell]# stat -f -c %T /
ext2/ext3
[[email protected] testshell]# stat -fc %T /
ext2/ext3
[[email protected] testshell]# stat /var/log/messages
File: `/var/log/messages'
Size: 227 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 788229 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-01-06 12:28:53.604164323 +0800
Modify: 2014-01-06 12:28:52.603169898 +0800
Change: 2014-01-06 12:28:52.603169898 +0800
[[email protected] testshell]# stat /var/log/messages | tail -2 | awk '{print $2"+++++++"$3}'
2014-01-06+++++++12:28:52.603169898
2014-01-06+++++++12:28:52.603169898
上一篇: 连接数据库
推荐阅读
-
springboot+nginx+https+linux实现负载均衡加域名访问简单测试
-
Win10 Version 1607中的Linux子系统安装方法详解
-
如何运行openSUSE?Win10中安装SUSE Linux子系统的详细图文教程
-
Linux操作系统安装LAMP环境
-
配置hadoop环境变量的参数(linux配置hadoop环境变量)
-
linux查看进程命令grep(linux中的grep命令的作用 )
-
linux修改hostname的配置文件(linux中修改主机名的命令)
-
Linux中安装Python的交互式解释器IPython的教程
-
linux常用工具和命令(linux基础入门知识)
-
MySQL 数据库两台主机同步实战(linux)