【Linux基础命令】文件查看:stat、head、tail实战详解

时间:2025-04-23 08:29:24

摘要

详解Linux文件查看基础命令:stat显示inode/时间戳,head查看文件头部,tail监控日志尾部。涵盖基础用法、组合技巧与实战场景,帮助快速掌握文件分析核心技能。

一、命令定位与核心功能

命令 核心功能 典型应用场景
stat 显示文件元数据 查看inode、时间戳
head 查看文件头部内容 快速预览日志开头
tail 查看文件尾部内容 实时监控日志更新

二、stat:文件元数据透视

2.1 基础语法与输出解析

stat file.txt

输出示例

  File: file.txt
  Size: 4096      Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 265737     Links: 1
Access: 2025-04-17 10:00:00.000000000 +0800
Modify: 2025-04-17 11:00:00.000000000 +0800
Change: 2025-04-17 12:00:00.000000000 +0800

2.2 关键元数据说明

字段 含义说明 查看命令变体
Access Time 最后访问时间(atime) stat -c %x file
Modify Time 内容修改时间(mtime) stat -c %y file
Change Time 元数据变更时间(ctime) stat -c %z file
Inode 文件唯一标识 stat -c %i file
权限 八进制权限值 stat -c %a file

三、head:头部内容查看

3.1 基础用法

# 查看文件前10行(默认)
head file.log

# 查看前N行(例如5行)
head -n 5 access.log
# 等效简写
head -5 access.log

3.2 高级技巧

# 结合管道筛选数据
ps aux | head -n 10    # 显示前10个进程
# 排除文件首行(标题行)
tail -n +2 data.csv | head -n 5  # 显示第2-6行

四、tail:尾部内容追踪

4.1 基础用法

# 查看文件末尾10行(默认)
tail error.log

# 查看末尾N行(例如20行)
tail -n 20 debug.log
# 等效简写
tail -20 debug.log

4.2 实时监控(核心功能)

# 实时追踪日志更新(Ctrl+C退出)
tail -f app.log
# 同时显示行号
tail -nf app.log
# 监控多个文件
tail -f app.log error.log

五、组合使用实战

5.1 日志分析案例

# 查看最新错误信息(最后100行中的ERROR关键词)
tail -n 100 system.log | grep "ERROR"

# 对比文件首尾差异(前10行 vs 后10行)
head -10 config.conf > head.txt
tail -10 config.conf > tail.txt
diff head.txt tail.txt

5.2 系统监控案例

# 实时监控新增进程
ps aux | tail -f -n 0 | grep "nginx"

# 统计CPU使用率TOP5进程
ps aux --sort=-%cpu | head -n 6

六、参数速查表

命令 常用参数 功能说明
stat -c 自定义输出格式
head -n / -数字 指定显示行数
tail -f 实时追踪文件变化
-F 文件重命名后仍追踪
-s 设置监控间隔(秒)