当前位置:首页>Linux>Linux常用命令详解(文件操作篇):touch、cat、less、head、tail等命令深度解析

Linux常用命令详解(文件操作篇):touch、cat、less、head、tail等命令深度解析

  • 2026-10-11 08:01:26
Linux常用命令详解(文件操作篇):touch、cat、less、head、tail等命令深度解析

继上一期《目录操作命令》后,本文将带你深入掌握Linux文件操作的核心命令。从创建文件、查看内容到分页浏览、动态监控,这些命令是你在终端中处理文件的必备利器。本文包含大量实用示例和选项搭配,建议收藏备用!


📌 一、前言

在Linux系统中,“一切皆文件”。无论是配置文件、日志文件还是脚本文件,掌握文件操作命令都是提升工作效率的关键。本文将系统讲解以下命令:

命令功能适用场景
touch创建空文件 / 更新时间戳快速创建文件、批量生成测试文件
cat查看小文件 / 合并文件查看配置、拼接文本
tac反向查看文件从最后一行开始看
more分页查看文件浏览长文件(基础版)
less分页查看文件(增强版)浏览长文件、搜索、翻页
head查看文件开头预览文件前几行
tail查看文件结尾查看最新日志、实时监控
nl带行号显示文件代码预览、行号定位
wc统计行/字/字节数代码量统计、日志分析

📄 二、核心命令详解

1. touch —— 创建文件 / 更新时间戳

touch是最常用的文件创建命令,但它真正的核心功能是修改文件的时间戳。

基本语法

bash

touch [选项] 文件名...

时间戳类型(Linux文件的三种时间)

时间类型英文缩写含义何时更新
访问时间atime最后一次读取文件的时间cat、less查看时
修改时间mtime最后一次修改文件内容的时间编辑内容时
改变时间ctime最后一次修改文件属性的时间改权限、改所有者时

常用选项

选项作用
-a只修改访问时间(atime)
-m只修改修改时间(mtime)
-t指定时间戳(格式:[[CC]YY]MMDDhhmm[.ss])
-d使用字符串指定时间(如 "2024-01-01 10:30:00")
-c不创建新文件,仅当文件存在时才修改时间

实用示例

bash

# 创建单个空文件
touch file1.txt

# 批量创建多个文件
touch file1.txt file2.txt file3.txt

# 批量创建带编号的文件(大括号展开)
touch {1..10}.log       # 创建 1.log 到 10.log
touch {a,b,c}.txt       # 创建 a.txt b.txt c.txt

# 只修改访问时间
touch -a existing.txt

# 修改文件时间为指定值(2024年12月25日8:30)
touch -t 202412250830 file.txt

# 使用易读的日期格式
touch -d "2 days ago" old.log
touch -d "2024-01-01 10:30:00" config.ini

# 不创建新文件(只更新时间戳)
touch -c existing_file.txt   # 存在则更新时间,不存在也不创建

💡 小技巧:touch批量生成测试文件时,配合{ }展开非常高效!


2. cat —— 查看/合并文件

cat(Concatenate)是最直接的文本查看工具,适合查看较短的文件。

基本语法

bash

cat [选项] 文件1 [文件2 ...]

常用选项

选项作用
-n显示行号(包括空行)
-b显示行号(空行不编号)
-s压缩连续的空行,只显示一个空行
-T将制表符(Tab)显示为 ^I
-E在每行末尾显示 i" > test_f ==="; cat "$f"; done > all.txt

📊 五、实战场景模拟

场景1:排查Web服务500错误

bash

# 实时监控错误日志
tail -f /var/log/nginx/error.log

# 或查看最近100条错误
grep "500" /var/log/nginx/access.log | tail -n 100

场景2:快速创建配置文件框架

bash

touch config.{ini,yaml,json}
echo "[DEFAULT]" > config.ini
echo "debug = true" >> config.ini

场景3:统计项目代码行数

bash

find . -name "*.go" | xargs wc -l | tail -1

场景4:监控系统被访问情况

bash

tail -f /var/log/nginx/access.log | cut -d' ' -f1 | uniq -c
# 实时显示访问来源IP及次数

🧪 六、自测练习题

  1. 如何用一条命令创建 a.log、b.log、c.log 三个空文件?

  2. 查看文件末尾50行并且持续追踪新内容的命令是什么?

  3. less 中如何跳到文件开头?如何搜索字符串 "error"?

  4. 统计 /var/log/syslog 中 ERROR 出现的次数?

  5. 如何只查看 file.txt 的第 10 行?

答案:

  1. touch a.log b.log c.log 或 touch {a,b,c}.log

  2. tail -n 50 -f 文件名

  3. 按 g 跳到开头,按 /error 搜索

  4. grep "ERROR" /var/log/syslog | wc -l

  5. head -n 10 file.txt | tail -n 1 或 sed -n '10p' file.txt


📚 七、总结

本文详细介绍了Linux文件操作的常用命令:

类别命令一句话总结
创建touch创建空文件或更新时间戳
查看(全文)cat适合看小文件
查看(分页)less最强分页查看器,大文件神器
查看(头/尾)head / tail预览开头或追踪最新内容
格式处理nl带行号显示
统计wc数行数、字数、字节数

掌握这些命令,你就能在Linux终端中高效地处理任何文本文件。下一期我们将深入讲解 grep、sed、awk 三剑客,敬请期待!


📌 本文首发于CSDN,转载需注明出处。
💬 如有疑问或补充,欢迎评论区交流!
👍 觉得有用请点赞、收藏、关注,支持作者创作更多优质内容~

最新文章

随机文章