stat命令查看文件或目录信息,基本使用不需要添加参数

1
2
3
4
5
6
7
8
9
[root@sygl ~]# stat test
文件:"test"
大小:33 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:201326677 硬链接:4
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2023-04-27 21:58:41.959609047 +0800
最近更改:2023-04-27 21:58:40.968605041 +0800
最近改动:2023-04-27 21:58:40.968605041 +0800
创建时间:-

stat命令会显示文件的三个时间,以下为具体解释:

1、 Access time(atime): 是指取用文件的时间,常见的操作有:使用编辑器查看文件内容,使用 cat 命令显示文件内容,使用 cp 命令把该文件(即来源文件)复制成其他文件,或者在这个文件上运用 grep sed more less tail head 等命令,凡是读取而不修改文件的操作,均会改变文件的Access time。当我们 cat 查看文件之后,文件信息中的 Access 时间发生了改变。当输入 cat file1 后,Access Time 就会发生改变

2、 Modify time(mtime):是指修改文件内容的时间,只要文件内容有改动(如使用转向输出或转向附加的方式)或存盘的操作,就会改变文件的 Modify time, 平常我们使用 ls –l 查看文件时,显示的时间就是 Modify time 。当我们对 test.c 进行内容修改时,Modify time 以及 Change time 都发生了改变,因为修改了文件的内容。进行内容改变后输入 stat file1,即: Modify Time 和 Change Time 发生了改变

3、 Change time(ctime): 是指文件属性或文件位置改动的时间,如使用 chmod,chown,mv 指令集使用 ln 做文件的硬是连接,就会改变文件的 Change time. 当对文件的属性进行修改时,Change time 发生了改变,但此时的 Modify time 并没有发生变化,因为文件内容没有变。 

除了用stat命令,也可以用ls命令查看上述三个时间

1
2
3
4
5
6
7
8
# 最后访问时间atime
ls -lu

# 最后修改时间mtime
ls -lt

# 状态改变时间ctime
ls -lc