当前位置: 首页 > news >正文

Linux命令-stat(显示文件/文件系统状态)

Linux命令-stat(显示文件/文件系统状态)

    • 快速参考
    • 基本用法(文件状态)
    • 自定义格式输出(-c)
    • 常用格式说明符
    • 文件系统状态(-f)
    • 实用脚本示例
    • stat vs ls -l

stat用于显示文件或文件系统的详细元数据信息。与ls -l相比,stat提供了更精确的时间戳(纳秒级)、inode 号、块数、文件系统 ID 等深层信息。在脚本中,stat -c的自定义格式功能使其成为获取文件属性的首选工具。

快速参考

stat[选项]文件...stat-f[选项]文件...

stat直接调用stat()/lstat()系统调用获取信息。纳秒精度的时间戳是其区别于ls的重要特征。

基本用法(文件状态)

# 查看文件完整状态statfile.txt# 示例输出解析:# File: file.txt# Size: 1234 Blocks: 8 IO Block: 4096 regular file# Device: 801h/2049d Inode: 123456 Links: 1# Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)# Access: 2024-01-15 10:30:45.123456789 +0800# Modify: 2024-01-14 15:20:30.987654321 +0800# Change: 2024-01-14 15:20:30.987654321 +0800# Birth: -# 查看多个文件statfile1.txt file2.txt file3.txt# 跟随符号链接(默认行为)stat/usr/bin/python# 不跟随符号链接(查看符号链接自身)stat-L/etc/resolv.conf

自定义格式输出(-c)

# 仅显示文件大小stat-c"%s"file.txt# 仅显示文件名和大小stat-c"%n: %s bytes"file.txt# 显示权限(八进制)stat-c"%a"file.txt# 644# 显示完整权限字符串stat-c"%A"file.txt# -rw-r--r--# 显示用户名和组名stat-c"Owner: %U Group: %G"file.txt# 时间戳(Unix 时间戳)stat-c"Access: %X Modify: %Y Change: %Z"file.txt# 时间和文件名stat-c"%n 修改时间: %y"*.txt# 显示 inode 号stat-c"inode: %i"file.txt# 显示设备号stat-c"Device: %d"file.txt# 显示块数和块大小stat-c"Blocks: %b (Block Size: %o)"file.txt# 显示文件类型stat-c"%F"file.txt# 显示纳秒精度修改时间stat-c"%n %.Y"file.txt

常用格式说明符

格式符含义示例输出
%n文件名file.txt
%s文件大小(字节)12345
%a八进制权限644
%A人类可读权限-rw-r–r–
%U所有者用户名root
%G所属组名wheel
%iinode 号123456
%h硬链接数1
%X最后访问时间(Unix 时间戳)1609459200
%Y最后修改时间(Unix 时间戳)1609459200
%Z最后状态变更时间1609459200
%x最后访问时间(人类可读)2024-01-15
%y最后修改时间(人类可读)2024-01-14
%z最后状态变更时间(人类可读)2024-01-14
%F文件类型regular file
%d设备号(十进制)2049

文件系统状态(-f)

# 查看文件系统信息stat-f/# 输出含义:# File: "/"# ID: ab12cd34ef567890 Namelen: 255 Type: ext2/ext3# Block size: 4096 Fundamental block size: 4096# Blocks: Total: 25600000 Free: 12800000 Available: 12000000# Inodes: Total: 6553600 Free: 6000000# 查看挂载点文件系统stat-f/homestat-f/mnt/usb# 自定义文件系统格式输出stat-f-c"类型: %T 可用: %a blocks"/stat-f-c"总计: %b Block 空闲: %f Block"/

实用脚本示例

# 查找最近 24 小时内修改的文件find.-typef-newermt"24 hours ago"-execstat-c"%n %y"{}\;# 比较两个文件的时间戳compare_timestamps(){localmod1=$(stat-c"%Y""$1")localmod2=$(stat-c"%Y""$2")if["$mod1"-gt"$mod2"];thenecho"$1较新 ($(date-d@$mod1))"elseecho"$2较新 ($(date-d@$mod2))"fi}compare_timestamps file_a.txt file_b.txt# 批量显示目录内文件大小排行find.-typef-execstat-c"%s %n"{}\;|sort-rn|head-20# 检查文件权限是否正确check_perms(){localexpected="$1"file="$2"localactual=$(stat-c"%a""$file")if["$actual"!="$expected"];thenecho"⚠️$file权限为$actual(期望$expected)"return1fireturn0}check_perms600~/.ssh/id_ed25519# 磁盘使用预警脚本USAGE=$(stat-f-c"100 - 100 * %a / %b"/home|bc)if["$USAGE"-gt90];thenecho"⚠️ 磁盘使用率:${USAGE}%"fi

stat vs ls -l

特性statls -l
纳秒时间戳支持不支持
Inode 号直接显示ls -i
块信息详细不显示
设备号直接显示不显示
自定义格式强大(-c有限
文件系统信息支持(-f不支持
一眼可读性信息量大更直观
# 功能对比ls-lfile.txt -rw-r--r--1user user1234Jan1510:30 file.txtstatfile.txt# 提供了 inode、block、三个时间戳、链接数、设备号等# 比 ls -l 多出约 3 倍的元数据信息# 获取特定信息ls-lfile.txt|awk'{print $5}'# 大小(方式一)stat-c"%s"file.txt# 大小(方式二,更清晰)ls-ifile.txt# inode(方式一)stat-c"%i"file.txt# inode(方式二,脚本友好)

脚本建议:在编写需要文件元数据的 Shell 脚本时,优先使用stat -c而非解析ls输出。stat的格式稳定可预测,不依赖人类可读格式的解析。

http://www.jsqmd.com/news/1380714/

相关文章:

  • Windows 7下VC++ 6.0兼容免安装版配置与实战指南
  • FlovaSeedance2.5:30秒原生直出遇上六边形Agent,视频有了交付系统 - 精彩城市
  • figma可动眼人偶深度解析:从结构原理到摄影实战
  • 上海网站建设公司大全:从选型避坑到落地执行,揭秘上海优质建站服务商的全景指南
  • 开关电源核心原理:从PWM到升压降压全解析
  • 树莓派5+ros2 jazzy+d435i+orb-slam3
  • 最新版 MobaXterm 下载、安装、使用教程
  • 华为OD机试动态规划实战:从“小明减肥”题解看多约束状态设计
  • 在盛夏果岭定格优雅:比音勒芬冰爽 T 的高弹凉感与精湛工艺解密 - 精彩城市
  • 网络安全智能体实战:从感知到执行的自动化防御系统开发指南
  • AI网关成本治理实战:基于消费者配额的大模型调用精细化管控
  • Python编程游戏化学习:从零基础到项目实战的趣味指南
  • 2026下半年禹城二线一硬龙门铣床供货厂家选哪家 - 装修教育财税推荐2026
  • 【会议征稿通知 | 桂林电子科技大学主办 | ACM出版 | EI 、Scopus稳定检索】第二届生成式AI与数字媒体艺术国际学术会议 (GAIDMA 2026)
  • Claude Tag:从聊天机器人到AI同事的协作界面重塑
  • 如何用VideoDownloadHelper轻松下载网页视频:新手必备的完整指南
  • 2026免费GEO监测平台:透镜GEO全栈自研,监测分析优化一站式落地
  • 逆向工程用 AI 的边界:归纳线索,不替代指令证据
  • Unity渲染中Dither透明物体阴影丢失的深度解析与解决方案
  • Linux命令-sudo(以其他用户身份执行命令)
  • 买了网站主机后如何建设网站:从零基础到上线的实战避坑指南
  • Gradle构建JDK版本不匹配:从原理到项目级配置解决方案
  • Unity动态数据可视化实战:基于XCharts实现实时折线图
  • 为什么运维团队需要会记忆的 AI 助理,而不只是机器人
  • 2026年聊城商务数据分析师怎么报名?中山优才教育报考指南 - 学历提升热点资讯
  • Windows 10 C盘扩容终极指南:无损调整分区,告别空间不足
  • 2026年天津标书代写机构精选推荐|先进制造港口经济电子标全流程服务 - 安华招标
  • Linux网络编程核心流程解析
  • 豆顶顶 GEO:助力太仓本地企业挖掘自然搜索线索
  • 电机控制入门:从核心原理到PID三环调试实战