Linux每日一篇 - 86 - stat
Linux文件状态查看神器!掌握stat命令,轻松查看文件详细属性,了解文件系统信息!
stat命令是什么?
stat命令用于显示文件或文件系统的详细状态信息,包括文件类型、权限、所有者、大小、时间戳等,是了解文件属性的高级工具。
基本用法
# 显示文件详细信息
stat filename
# 显示文件系统信息
stat -f filename
# 使用自定义格式显示
stat -c "%n %s %b %f" filename
# 显示文件所有者和组
stat -c "%U %G" filename
# 显示文件权限(八进制)
stat -c "%a %A" filename
# 显示时间信息
stat -c "%w %x %y %z" filename
# 显示inode信息
stat -c "%i %d" filename
实用技巧
# 查看文件详细信息
stat /etc/passwd
# 检查文件权限
stat -c "%n 权限: %A" filename
# 获取文件大小(字节)
stat -c "%s" filename
# 检查文件修改时间
stat -c "%y" filename
# 显示文件所有者和组
stat -c "所有者: %U, 组: %G" filename
# 检查文件类型
stat -c "%F" filename
# 获取inode号
stat -c "%i" filename
# 比较两个文件的时间戳
stat -c "%n: %y" file1 file2
常用场景
# 查看文件详细属性
stat ~/.bashrc
# 检查文件大小和时间
stat -c "%n - 大小: %s bytes, 修改时间: %y" filename
# 获取文件系统详细信息
stat -f /
# 检查文件权限和所有者
stat -c "%A %U:%G %n" filename
# 在脚本中使用stat信息
if [ $(stat -c %s "largefile.txt") -gt 1048576 ]; then
echo "文件大于1MB"
fi
# 检查文件是否为符号链接
stat -c "%F" filename | grep -q "symbolic link" && echo "是符号链接" || echo "不是符号链接"
# 获取文件的访问时间
stat -c "%x" filename
# 检查文件的设备号和inode
stat -c "设备: %d, inode: %i" filename