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

Linux文件操作命令

查看文件内容

cat - 文件内容快速查看

语法cat [选项] 文件名

核心参数

  • -n:显示行号(包括空行)

  • -E:显示行尾结束符($)

  • -T:显示制表符(^I)

实战案例

# 案例1:查看文件内容
cat /etc/issue  # 显示系统版本信息

# 案例2:合并两个文件
cat file1.txt file2.txt  # 直接输出到屏幕

# 案例3:创建新文件
cat > test.txt  # 输入内容后按Ctrl+D保存

注意事项

  • 大文件慎用(内存压力)

  • 禁止直接编辑文件(需配合>>追加)

more - 分屏查看器

交互命令

  • 空格键 下一页

  • Enter下一行

  • q:退出

  • :f 显示当前位置

进阶用法

# 案例1:查看日志文件
more /var/log/messages  # 按空格键下翻页

# 案例2:跳过前10行
more +10 /etc/passwd  # 从第11行开始显示

回车键向下移动一行。
d向下移动半页。
空格键向下移动一页。
b向上移动一页,后期引入功能,早期more只能前进不能后退
q退出 more。

less - 高级分页工具

核心优势

  • 支持上下滚动

  • 搜索功能(/pattern

常用参数

  • -S:禁用行换行(适合宽文件)

  • -i:忽略搜索大小写

  • -N:显示行号

实战技巧

# 案例1:实时追踪日志
less +F /var/log/nginx/access.log  # 按Ctrl+C退出

# 案例2:搜索关键字
less /etc/ssh/sshd_config  # 输入 /Port 搜索

回车键向下移动一行。
d向下移动半页。
空格键向下移动一页。
b向上移动一页。
上下方向键向上与向下移动,less命令特有功能键,鼠标滑轮
less -N 文件名称显示行号
/ 字符串搜索指定的字符串。
q退出less
n/N下一个/上一个

cat,more,less三者的对比

catmoreless
作用显示小文件(一屏以内)显示大文件(超过一屏)显示大文件(超过一屏)
交互命令有 b,d,space,enter有 b,d,space,enter
上下键翻行

head - 文件头部查看

语法head [选项] 文件名 参数

  • -n 5:显示前5行

  • -c 100:显示前100字节

组合用法

# 案例1:查看配置文件头部
head -n 5 /etc/ssh/sshd_config  # 显示前5行

# 案例2:多文件并行预览
head -n 3 /etc/group /etc/shadow  # 同时显示两个文件前3行

tail - 文件尾部追踪

核心参数

  • -f:实时追踪(Ctrl+C退出)

  • -F:追踪文件名变更(适用于日志轮转)

  • -n +5:从第5行开始显示

生产应用

# 案例1:实时查看新增日志
tail -f /var/log/cron  # 按Ctrl+C退出

# 案例2:多文件同步追踪
tail -f /var/log/{messages,kern.log}  # 同时监控多个日志

# 案例3:过滤关键字后追踪
tail -f /var/log/httpd/access_log | grep -i "404"

统计文件信息

wc - 统计文件内容数量

命令:wc,wc = word count

作用:用于统计文件内容信息(包含行数、单词数、字节数)

语法:wc [参数选项] 文件名

常见参数:

-l:表示lines,行数(以回车/换行符为标准)

-w:表示words,单词数 依照空格来判断单词数量

-c:表示bytes, 字节数(空格,回车,换行)

# 案例1:统计文本行数
wc -l /etc/group  # 输出行数

# 案例2:批量统计多个文件
wc -l *.conf  # 统计当前目录所有.conf文件的行数

du - 统计文件大小

命令:du

作用:查看文件或目录(会递归显示子目录)占用磁盘空间大小

语法:# du [参数选项] 文件名或目录名

常见参数:-s :summaries,只显示汇总的大小,统计文件夹的大小

-h:表示以高可读性的形式进行显示,如果不写-h,默认以KB的形式显示文件大小

用法一:du 文件名

示例代码:
#du /var/log/boot.log
含义:统计/var/log/boot.log文件的大小

用法二:du -h 文件名

示例代码:
#du -h /var/log/boot.log
含义:统计/var/log/boot.log文件的大小,以高可读性显示

示例代码:统计 /var/log 目录大小

用法三:du 目录名
示例代码:
#du /var/log/
含义:统计/var/log/目录的大小,包含目录下每一个单独文件的大小

用法四:du -s 目录名
示例代码:
#du -s /var/log/
含义:统计/var/log/boot.log文件的大小,汇总只显示目录大小

用法五:du -sh 目录名
示例代码:
#du -sh /var/log/
含义:统计/var/log/boot.log文件的大小,汇总只显示目录大小,并采用高可读性

文本处理

find - 文件搜索利器

搜索条件

  • -name "*.txt":按名称匹配

  • -mtime +7:7天前修改

  • -size +100k:大于100KB

管道符

工作原理:将前一个命令的输出作为后一个命令的输入

性能优化

  • 避免无用输出(如cat file | grep pattern可简化为grep pattern file

  • 使用buffer工具加速大数据流传输

命令核心功能最佳场景性能特征
cat文件拼接/快速预览小文件(<100行)直接输出
less高效分页浏览大文件(>1GB)智能加载
grep内容过滤日志分析正则支持
find文件检索系统级搜索精准定位

grep - 模式匹配神器

正则表达式

  • ^root:行首匹配

  • \.conf$:行尾匹配

  • [0-9]{3}-[0-9]{4}:匹配电话号码格式

实用技巧

# 案例1:搜索关键字
grep "root" /etc/passwd  # 显示包含root的行

# 案例2:统计唯一匹配行
grep -oP '\b[A-Z]{3}\b' /etc/issue | sort -u  # 提取并去重大写字母单词

# 案例3:反向选择(排除匹配)
grep -v -E '^(#|$)' /etc/fstab  # 排除注释行和空行

# 案例4:显示匹配行号和文件名
grep -Hn 'UUID' /etc/fstab  # 显示文件名、行号、匹配内容

# 案例5:递归搜索当前目录
grep -r 'error' .  # 当前目录及其子目录搜索

基础搜索参数

- -i(忽略大小写)

grep -i "hello" file.txt # 搜索 "hello"、"Hello"、"HELLO" 等

- -v(反向匹配,显示不包含模式的行)

grep -v "error" log.txt # 排除所有包含 "error" 的行

- -w(全词匹配,仅匹配完整单词)

grep -w "cat" file.txt # 匹配 "cat",但不匹配 "category" 或 "cats"

- -n(显示匹配行的行号)

grep -n "TODO" code.py # 输出格式:行号:匹配内容

- -l(仅显示包含匹配项的文件名,不显示具体内容)

grep -l "success" *.log # 列出所有包含 "success" 的日志文件名

- -c(统计匹配行的数量)

grep -c "404" access.log # 统计 "404" 出现的次数

组合案例

1. 在单个文件中查找关键词

场景:查看日志文件并搜索“error”

cat system.log | grep "error"

或更高效的方式(直接使用grep):

grep "error" system.log

作用:快速定位文件中的错误信息。

2. 在多个文件中查找关键词

场景:搜索所有.txt文件中的“hello”

cat *.txt | grep "hello"

注意:如果需知道结果来自哪个文件,直接使用grep更合适:

grep "hello" *.txt

作用:跨文件搜索时,显示文件名和匹配内容。

3. 忽略大小写搜索

场景:查找“success”(无论大写或小写)

cat report.txt | grep -i "success"

作用:避免因大小写差异漏掉结果。

4. 显示匹配行的行号

场景:在代码中查找“TODO”并标注行号

cat app.py | grep -n "TODO"

作用:快速跳转到代码中的待办项位置。

5. 统计匹配的行数

场景:统计日志中“warning”出现的次数

cat server.log | grep -c "warning"

作用:量化问题出现的频率。

6. 排除特定关键词

场景:查看配置文件,跳过所有注释行(以#开头)

cat config.conf | grep -v "^#"

作用:仅关注有效配置。

7. 组合多个搜索条件

场景:查找“error”或“critical”

cat messages.log | grep -e "error" -e "critical"

作用:同时监控多个关键词。

8. 将结果保存到新文件

场景:提取包含“404”的日志行并保存

cat access.log | grep "404" > 404_errors.txt

作用:生成问题报告供后续分析。

http://www.xdnf.cn/news/2048.html

相关文章:

  • QPS说明
  • 提升变电站运维效率:安科瑞无线测温系统创新应用
  • oracle数据库物理结构
  • Python异常处理实战指南:从基础语法到设计哲学
  • windows一键测速DNS并切换
  • MQTT学习资源
  • 极域教师管理CMD命令操作
  • kaggle配置
  • WebUI可视化:第7章:系统优化与部署实战
  • 新手如何学习人工智能
  • C语言实现对哈希表的操作:创建哈希表与扩容哈希表
  • Vue3 生命周期与Hooks
  • C语言----函数栈帧讲解
  • Flink 系列之七 - Data Stream API的源算子原理
  • Codeforces Round 1020 (Div. 3)
  • 17.ArkUI Slider的介绍和使用
  • 免费的车牌势识别系统
  • 电商数据中台架构:淘宝 API 实时采集与多源数据融合技术拆解
  • Chrmo手动同步数据
  • 在虚拟机中安装Linux详细教程
  • PyQt6基础_QTableWidget
  • MSVCP140.dll丢失的解决方法:详细修复指南进一步了解MSVCP140.dll
  • SCI论文结构笔记
  • 【鸿蒙HarmonyOS】深入理解一端开发,多端部署
  • WINDOWS 下Maven 安装及配置教程
  • javaweb-cook-会话
  • 力扣热题——统计最大组的数目
  • 黑马Redis(三)黑马点评项目
  • 【昇腾】【训练】800TA2-910B使用LLaMA-Factory训练Qwen
  • 系统架构师2025年论文《微服务架构3》