(转)Linux系统stat指令用法

原文:https://www.cnblogs.com/linux-super-meng/p/3812695.html

stat指令:文件/文件系统的详细信息显示。

stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下:

-f  不显示文件本身的信息,显示文件所在文件系统的信息

-L  显示符号链接

-t  简洁模式,只显示摘要信息

  事实上,stat命令显示的是文件的I节点信息。Linux文件系统以块为单位存储信息,为了找到某一个文件所在存储空间的位置,用I节点对每个文件进行索引。

  

   所谓的I节点,是文件系统管理的一个数据结构,是一个64字节长的表,包含了描述文件所必要的全部信息,其中包含了文件的大小,类型,存取权限,文件的所有者==

查询rc.d文件的信息

[[email protected] rc.d]# stat rc0.d/  //可以清楚的分析文件或目录的信息
  File: `rc0.d/‘
  Size: 4096       Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d Inode: 1309217     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-06-26 21:02:26.776082938 +0800
Modify: 2014-06-12 15:16:57.848087079 +0800
Change: 2014-06-12 15:16:57.848087079 +0800

[[email protected] rc0.d]# du -sh   //这个目录下的所有文件共4K和上面大小差不多
4.0K .

查询ec.d文件所在文件系统的信息:

[[email protected] rc.d]# stat -f rc0.d/  //这个显示的跟当前系统的文件系统信息一样,因为rc.0就在当前系统的文件系统
  File: "rc0.d/"
    ID: 303116b72802c784 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 7558388    Free: 5545748    Available: 5161800
Inodes: Total: 1921360    Free: 1850717

也可以查看硬盘的信息

[[email protected] rc.d]# stat /dev/sda
  File: `/dev/sda‘
  Size: 0          Blocks: 0          IO Block: 4096   block special file
Device: 5h/5d Inode: 6308        Links: 1     Device type: 8,0
Access: (0660/brw-rw----)  Uid: (    0/    root)   Gid: (    6/    disk)
Access: 2014-06-27 20:57:07.213940088 +0800
Modify: 2014-06-27 20:57:05.037938949 +0800
Change: 2014-06-27 20:57:05.037938949 +0800

sda硬盘文件系统的信息

[[email protected] rc.d]# stat -f /dev/sda
  File: "/dev/sda"
    ID: 0        Namelen: 255     Type: tmpfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61793      Free: 61734      Available: 61734
Inodes: Total: 61793      Free: 61080

简单的介绍一下stat命令显示出来的文件其他信息: 
- File:显示文件名 
- Size:显示文件大小 
- Blocks:文件使用的数据块总数 
- IO Block:IO块大小 
- regular file:文件类型(常规文件) 
- Device:设备编号 
- Inode:Inode号 
- Links:链接数 
- Access:文件的权限 
- Gid、Uid:文件所有权的Gid和Uid。

1.atime(访问时间)的更新 
 
2.mtime(修改时间)的更新 
 
这里我使用echo指令向hello.cpp文件中写入了一行内容,惊讶的发现,不止mtime被更新了,而且ctime也被更新了。这是问什么呢?原因很简单,前面说过,ctime在文件大小,Blocks发生变化时也会被更新,所以仔细观察上图,这两项信息是否发生变化了呢? 
3.ctime(状态时间)的更新

 
使用chmod指令修改hello.cpp的文件权限后,状态时间再次更新。 
那如果不采取这些操作导致系统自己更新这三个时间,有没有办法人为改变这三个时间呢?答案是有的,请继续往下看~

touch命令 
我们都知道touch命令是用来创建文件的,其实它的用法还有一个,就是修改文件的时间戳。 
用法: 
-a 或–time=atime或–time=access或–time=use 只更改访问时间。 
-m 或–time=mtime或–time=modify  只更改修改时间 
-d、-t  使?指定的?期时间,??现在的时间 
我们来试一试: 
 
通过上图可以发现,我只是通过-a选项试图修改hello.cpp的访问时间,结果ctime(状态时间)也发生了改变。虽然实际上我用touch操作只改变了atime,但是由于文件的状态发生了变化,所以ctime就自己更新了。 
 
没错,和上面一样,我只是通过-m选项改了文件的修改时间,ctime依然更新了。touch指令依然只是修改了修改时间,而状态时间是系统自己更新的。为什么会这样呢?想一下,我们每次使用touch指令其实都是修改了文件的inode信息,所以状态时间就会自己更新。

时间: 2024-10-12 22:55:46

(转)Linux系统stat指令用法的相关文章

<Linux系统stat指令用法>

stat指令:文件/文件系统的详细信息显示. stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下: -f 不显示文件本身的信息,显示文件所在文件系统的信息 -L 显示符号链接 -t 简洁模式,只显示摘要信息 事实上,stat命令显示的是文件的I节点信息.Linux文件系统以块为单位存储信息,为了找到某一个文件所在存储空间的位置,用I节点对每个文件进行索引. 所谓的I节点,是文件系统管理的一个数据结构,是一个64字节长的表,包含了描述文件所必要的全部信息,其中包含了文件的大小,

<Linux系统isosize指令用法>

isosize命令:iso9660文件系统大小显示 isosize命令用于显示iso9660文件系统的大小,还文件可以使普通文件,也可以是块设备,如/dev/sr0或者/dev/sda.如果没有相关选项的规定,默认以字节的方式显示大小.该命令支持大于4G的文系统.该命令的语法格式如下所示. isosize [-x] [-d num] -x 以易读的的方式显示,例如“扇区”代替“块” -d 与-x不同时使用,显示的结果是实际大小(字节表示)除了已指定的num.所以如果num表示“块”大小,则输出的

<Linux系统minfo命令用法>

minfo命令——ms-dos文件系统的各项参数的显示 minfo这个指令主要用于显示MS-DOS文件系统的各项参数,包括扇区数.磁头数.柱面数等. 参数主要有以下几个: -v 显示详细的参数 drive 指定驱动 显示系统C盘的参数信息并显示启动扇区内容. [[email protected] ~]# minfo -v C:Drive 'C:' not supported //警告不支持,其实用法是对的. <Linux系统minfo命令用法>

&lt;Linux系统uname命令用法&gt;

uname命令:操作系统信息的显示 uname 命令主要用于显示操作系统的信息,包括版本.平台的信息. 它的参数主要有以下: -a 显示全部信息 -s 显示内核名称 -n 显示主机名 -r 显示当前系统的内核版本 -m 显示主机的硬件名称 -p 显示处理器的类型 -i 显示主机的硬件平台 -o 显示所使用的操作系统的名称 下面来看一看: [[email protected] ~]# uname -a Linux redhat.example.com 2.6.32-279.el6.i686 #1

linux—find常见指令用法示例

Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强da的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS) ,find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个菲常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很多的时间( 这里是指30G字节以上的文件系统) . 1.命令格式:find

实验 1 Linux 系统的安装和常用命令

厦门大学林子雨,赖永炫,陶继平 编著 <Spark 编程基础(Scala 版)> 教材配套 机房上机实验指南 (版本号:2018 年 7 月 19 日版本) (题目) 主讲教师:林子雨 厦门大学数据库实验室 二零一八年七月目录 目录 一.实验目的..............................................................................................................................

【Linux】Linux系统下find指令详细用法与示例

Linux中的Find指令是Linux系统中很重要也是很棒的指令之一,功能非常得强大.下面我根据实例代码向大家分享find指令.由于博客上无法贴出Linux代码,我就在截图中体现出代码,以及效果. 我先自己创建了文件名的test.c的普通文件,我们用指令mkdir,以及ls查看已经创建了test.c. 现在我们查找它. 根据文件名或者正则表达式查找:-name   通过文件名字查找 文件名: 1)find ./ -name test.c   查找文件名为test.c的文件 2)find ./ -

linux系统中‘find’的详细用法

"find"指令是linux系统下较为常用的指令,它常见的用法我们也需要掌握,下面主要是对'find'指令的常见用法作一下总结,希望能够对其他人有所帮助. 在linux系统下用"ls"指令查看目录如下: 1.find指令的一般格式: find [path...] -options [-print / -ecex / -ok] 其中:path表示要查找的目录路径 ~表示home目录                        .表示当前目录             

Linux系统文本编辑器vim指令大全

本文适合Vim新手,既可阅读入门 相关在线资料http://baike.baidu.com/subview/113188/9338173.htm?fr=aladdin vim的使用之汇总   vimtutor (在线学习) 功能最强在的编辑器--vim vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件.当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻.游刃有余,