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命令或其他文本编辑器。
评论区