linux查看⽂件详细,Linuxstat命令:显⽰⽂件或⽂件系统的详
细信息
在 Linux 中,⽂件有访问时间、数据修改时间、状态修改时间这三个时间,⽽没有创建时间。stat 是査看⽂件详细信息的命令,⽽且可以看到⽂件的这三个时间,其基本信息如下。
命令名称:stat。
英⽂原意:display file or file system status。
所在路径:/usr/bin/stat。
执⾏权限:所有⽤户。
功能描述:显⽰⽂件或⽂件系统的详细信息。
命令格式
[root@localhost ~]# stat [选项]⽂件名或⽬录名
选项:
微服务是什么时候提出来的-f:査看⽂件所在的⽂件系统信息,⽽不是査看⽂件的信息。
常见⽤法
【例 1】査看⽂件的详细信息。
[root@localhost ~]# stat anaconda-ks.cfg
File: "anaconda-ks.cfg"
css类型
#⽂件名
Size: 1170  Blocks: 8 IO Block: 4096 普通⽂件
#⽂件⼤⼩  占⽤的block数 块⼤⼩ ⽂件类型
Device: 803h/2051d Inode: 130834 Links: 1
#i节点号 链接数
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
#权限 所有者 所属组
Access: 2016-05-06 23:31:41.396893415 +0800
#访问时间
Modify: 2016-05-06 23:31:41.396893415 +0800
#数据修改时间
Change: 2016-05-06 23:31:41.411006937 +0800
#状态修改时间
【例 2】 査看⽂件系统信息。
国内是否能观看vimeo如果使⽤"-f"选项,就不再是査看指定⽂件的信息,⽽是査看这个⽂件所在⽂件系统的信息,例如:
[root@localhost ~]#stat -f anaconda-ks.cfg
File: "anaconda-ks.cfg"
ID: c05ad05e0e3b0580 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 5045314 Free: 4356956 Available: 4100662 Inodes: Total: 1283632 Free: 1192731
【例 3】三种时间的含义。
sybase服务无法启动
査看系统当前时间,如下:
[root@localhost ~]# date
2016年05⽉07⽇星期六01:40:49 CST
再査看 bds ⽂件的三种时间,可以看到,和当前时间是有差别的,如下:
[root@localhost ~]# stat bols
File: "bols"
Size: 0 Blocks: 0  IO Block: 4096 普通空⽂件
Device: 803h/2051d Inode: 130829 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-05-07 00:10:23.794319970 +0800
Modify: 2016-05-07 00:10:23.794319970 +0800
Change: 2016-05-07 00:10:23.794319970 +0800
#这些时间都是最后⼀次修改⽂件的时间,并不是当前时间
⽽如果⽤ cat 命令读取⼀下这个⽂件,就会发现⽂件的访问时间 (Access Time) 变成了 cat 命令的执⾏时间,如下:
[root@localhost ~]# cat bols
[root@localhost ~]# stat bols
cg自学网精品cg资源网File: "bols"
Size: 0 Blocks: 0  I0 Block: 4096 普通空⽂
Device: 803h/2051d Inode: 130829 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid:(0/ root)
Access: 2016-05-07 01:41:08.202924900 +0800
#只有访问时间变为了cat命令的执⾏时间,其他两个时间没有改
Modify: 2016-05-07 00:10:23.794319970 +0800
Change: 2016-05-07 00:10:23.794319970 +0800
⽽如果⽤ echo 命令向⽂件中写⼊点数据,那么⽂件的数据修改时间(Modify Time)就会发⽣改变。但是⽂件数据改变了,系统会认为⽂件的状态也会改变,所以状态修改时间(Change Time)也会随之改变,如下:
[root@localhost ~]# echo 9527> bols
[root@localhost ~]# stat bols
File: "bols"
Size: 6 Blocks: 8  I0 Block: 4096 普通⽂件
Device: 803h/2051d Inode: 130829 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-05-07 01:41:08.202924900 +0800
#这个时间还是上次修改时间
Modify: 2016-05-07 01:42:42.459614017 +0800
Change: 2016-05-07 01:42:42.459614017 +0800 #⽽这两个时间变为了 echo 命令的执⾏时间
⽽如果只修改⽂件的状态(⽐如改变⽂件的所有者),⽽不修改⽂件的数据,则只会更改状态修改时间(ChangeTime),如下:
[root@localhost ~]# chown nobody bols
[root@localhost ~]# stat bols
File: "bols"
Size: 6 Blocks: 8  10 Block: 4096 普通⽂件
Device: 803h/2051d Inode: 130829 Links: 1
Access: (0644/-rw-r-r-) Uid: ( 502/ nobody) Gid: ( 0/root)
Access: 2016-05-07 01:41:08.202924900 +0800linux建立文件系统的命令
Modify: 2016-05-07 01:42:42.459614017 +0800
# 前两个时间还是之前修改的时间
Change: 2016-05-07 01:43:09.676860399 +0800
#⽽状态修改时间变为了chown命令的执⾏时间
⽽如果⽤ touch 命令再次触摸这个⽂件,则这个⽂件的三个时间 都会改变。touch 命令的作⽤就是这样的,⼤家记住即可。如下:[root@localhost ~]# touch bols
[root@localhost ~]# stat bols
File: "bols"
Size: 6 Blocks: 8  10 Block: 4096 普通⽂件
Device: 803h/2051d Inode: 130829 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ nobody) Gid: ( 0/root)
Access: 2016-05-07 01:54:14.466809236 +0800
Modify: 2016-05-07 01:54:14.466809236 +0800
Change: 2016-05-07 01:54:14.466809236 +0800
#三个时间都会变为touch命令的执⾏时间

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。