侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux stat命令教程:如何查看文件和文件系统的详细信息

Linux stat命令介绍

stat是一个命令行工具,用于显示给定文件或文件系统的详细信息。stat的全称是status,意思是状态。stat可以用来查看文件的元数据,如大小、权限、时间戳、所有者、类型等。stat也可以用来查看文件系统的信息,如块大小、总块数、空闲块数、总inode数、空闲inode数等。stat命令可以帮助我们了解文件和文件系统的属性和状态。

适用的Linux版本

stat命令在大多数Linux发行版中都是可用的,它是GNU coreutils软件包的一部分。如果你的Linux系统没有安装stat命令,你可以使用以下命令来安装它:

  • 在基于Debian的系统中(如Ubuntu),使用apt-get命令:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils
  • 在基于Red Hat的系统中(如CentOS),使用yum或dnf命令:
[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils

或者

[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils

Linux stat命令的基本语法

stat命令的基本语法格式如下:

stat [OPTION]... FILE...

其中,OPTION表示可选的参数,FILE表示要查看信息的文件或目录。如果没有指定任何选项,stat会显示默认的信息集合。如果要查看文件系统的信息,需要使用-f或--file-system选项。

Linux stat命令的常用选项说明

stat命令有很多选项,可以根据需要选择不同的信息输出格式和内容。以下是一些常用的选项:

选项说明
-f, --file-system显示文件系统而不是文件的信息
-c, --format=FORMAT使用指定的格式字符串输出信息
-L, --dereference跟随符号链接,显示链接指向的文件的信息
-t, --terse使用简洁格式输出信息
-h, --help显示帮助信息并退出
-v, --version显示版本信息并退出

Linux stat命令的实例

以下是一些使用stat命令的实例:

  • 查看一个普通文件的默认信息:
[linux@bashcommandnotfound.cn ~]$ stat file.txt

输出类似于:

File: file.txt
Size: 4030 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 13633379 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ linuxize) Gid: ( 1000/ linuxize)
Access: 2019-11-06 09:52:17.991979701 +0100
Modify: 2019-11-06 09:52:17.971979713 +0100
Change: 2019-11-06 09:52:17.971979713 +0100
Birth: -
  • 查看一个符号链接的默认信息:
[linux@bashcommandnotfound.cn ~]$ stat /etc/resolv.conf

输出类似于:

File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
Size: 39 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 8126659 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
Birth: -
  • 查看一个符号链接指向的文件的默认信息:
[linux@bashcommandnotfound.cn ~]$ stat -L /etc/resolv.conf

输出类似于:

File: /etc/resolv.conf
Size: 70 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 8126660 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2019-11-06 21:12:26.875956073 +0100
Change: 2019-11-06 21:12:26.875956073 +0100
Birth: -
  • 查看一个文件系统的默认信息:
[linux@bashcommandnotfound.cn ~]$ stat -f /home

输出类似于:

File: "/home"
ID: 8eb53097b4494d20 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 61271111 Free: 25395668 Available: 22265851
Inodes: Total: 15630336 Free: 13979610
  • 使用自定义格式输出一个文件的信息:
[linux@bashcommandnotfound.cn ~]$ stat -c "%n %s %y" file.txt

输出类似于:

file.txt 4030 2019-11-06 09:52:17.971979713 +0100

其中,%n表示文件名,%s表示文件大小,%y表示最后修改时间。更多的格式说明符可以参考man stat命令的输出。

Linux stat命令的注意事项

  • stat命令不会改变文件或文件系统的任何属性,它只是用来查看信息的。
  • stat命令不会递归地显示目录中的所有文件的信息,它只会显示目录本身的信息。如果要查看目录中的所有文件的信息,可以使用find命令结合stat命令。
  • stat命令不会显示文件的内容,它只会显示文件的元数据。如果要查看文件的内容,可以使用cat命令或其他文本编辑器。
0

评论区