stat命令

时间:2019-04-29 03:17:28  来源:igfitidea点击:

显示文件和文件系统信息

以下是如何使用Linuxstat命令显示与文件和文件系统有关的详细信息的示例。

Linux stat命令示例

Linux stat命令是一个工具,可用于显示与Linux系统上的文件或文件系统相关的详细信息。默认情况下,stat命令在大多数Linux发行版上都是可用的。在下面的示例中,使用了CentOS 7.2 Linux发行版。

Linux Stat命令语法

stat [OPTION]... FILE...

DESCRIPTION
       Display file or file system status.

       -L, --dereference
              follow links

       -f, --file-system
              display file system status instead of file status

       -c  --format=FORMAT
              use the specified FORMAT instead of the default; output  a  new‐
              line after each use of FORMAT

       --printf=FORMAT
              like  --format, but interpret backslash escapes, and do not out‐
              put a mandatory trailing newline; if you want a newline, include
              \n in FORMAT

       -t, --terse
              print the information in terse form

       --help display this help and exit

       --version
              output version information and exit

tat-未传递任何参数

stat命令最简单的用法是将文件名传递给该命令。在下面的示例中,您可以看到stat命令的默认输出。显示基本信息,例如大小,文件类型,Inode信息,链接数,访问,修改和更改日期和时间戳。stat命令通常用于查看文件的修改/访问时间。(在文件上显示创建时间和访问时间戳的更详细的方法是使用debugfs命令)

root@centos72m ~]# stat anaconda-ks.cfg 
  File: ‘anaconda-ks.cfg’
  Size: 1967      	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 135         Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:admin_home_t:s0
Access: 2015-11-21 16:52:25.992046601 +0000
Modify: 2015-11-21 16:52:25.998046601 +0000
Change: 2015-11-21 16:52:25.998046601 +0000
 Birth: -

stat -f-显示文件系统状态

如果希望查看与文件系统而不是单个文件相关的信息,则可以传递-f参数,后跟文件系统:

[root@centos72m ~]# stat -f /opt
  File: "/opt"
    ID: fd0600000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 509440     Free: 501208     Available: 501208
Inodes: Total: 2048000    Free: 2047997

格式化序列

要显示与文件或文件系统相关的特定信息,可以使用所谓的格式序列。通过为文件传递参数-c或——format,为文件系统传递-f——file-system。您可以指定感兴趣的点,如inode号、挂载点等。可以为文件和文件系统传递的所有参数的列表列在页面的底部。

stat --format=%i FileName

作为示例,我们指定要显示指定文件的inode信息。

[root@centos72m ~]# stat --format=%i anaconda-ks.cfg 
135

从上面我们可以看到文件anaconda-ks.cfg的索引节点号为135

stat --format=%i%g%G FileName

在此示例中,我们指定了要显示的多种格式序列。

[root@centos72m ~]# stat --format=%i%g%G anaconda-ks.cfg 
1350root

在上面的示例中,多个参数被传递给--format选项。其中

inode号:%i
所有者的组ID: %g
所有者的组名:%G
文件名称:anaconda-ks.cfg

该文件的输出表明索引节点号为135,所有者的组ID为0,所有者的组名称为root

stat -f -c %a /opt

上面stat命令的示例用于文件系统。在此示例中,我们使用-f选项指示我们正在传递文件系统。-c标志用于指定格式顺序。

在示例中:

%a - 非超级用户可以使用空闲块

[root@centos72m ~]# stat -f -c %a /opt
501208