26. cat:按顺序查看文件内容
用法:cat 文件名
-
这个命令可以快速查看文件内容,把多个文件拼起来显示
# 创建两个测试文件-- echo "这是文件内容1" > file1.txt echo "这是文件内容2" > file2.txt # 查看单个文件内容-- cat file1.txt # 拼接文件内容-- cat file1.txt file2.txt > ludeng.txt # 显示合并后的文件内容(-n: 加上行号)-- cat -n ludeng。txt # 查看cpu详情-- cat /proc/cpuinfo # 查看内容详情-- cat /proc/meminfo
27. tac:按倒序查看文件内容
用法:tac 文件名
-
tac 是反过来显示文件内容,最后一行先显示。
28. more:逐页查看文件
用法:more 文件名
more ludeng.txt
-
按空格翻页
-
按 q 退出
29. less:更灵活的翻页查看
用法:less 文件名
less ludeng.txt
-
用上下箭头滚动
-
输入 /关键词 搜索
-
按 q 退出
more 与 less 区别:
-
more:简单只能向后翻页。
-
less:功能更强大,支持前后翻页 和 搜索
less 比 more 更好用,文件多建议用 less 更方便。
30. head:文件内容看 "开头"
" 文件太大的情况下,我们只看重要的部分"
用法:head 文件名(看文件的前10行)
31. tail: 文件内容看 "结尾"
"与 head 同理"
用法:tail 文件名 (看文件的最后10行)
常用操作:
-
指定行数:
head -n 5 ludeng.txt #看文件前五行 tail -n 5 ludeng.txt #看文件最后5行
-
实时监控文件变化:
tail -f ludeng.txt
head 和 tail ,一个看开头,一个看结尾
32. grep: 文本搜索信息
-
从文本中快速找到我们想要的信息
用法:grep [选项] "关键词" 文件/目录
-
文本搜索,支持关键词匹配,忽略大小写,行号显示等功能,适合日志分析,快速定位问题
-
常用操作
# 1.查找文件中含有 "error" 的行 grep "error" ludeng.txt # 2.忽略大小写匹配 grep -i "error" ludeng.txt # 3.显示匹配的行号 grep -n "error" ludeng.txt # 4.递归搜索目录下所有文件 grep -R "error" /youyude/ludeng # 5.反向匹配,只显示不包含 "error" 的行 grep -v "error" ludeng.txt # 6.搜索多个关键词(用 \ | 分隔) grep -E "error|fail" ludeng.txt # 7.统计匹配的行数 grep -c "error" ludeng.txt # 8.只显示匹配的文件名 grep -l "error" *.txt # 9.递归搜索 + 忽略二进制文件 (常用) grep -nRI "keywork" /youyude/ludeng
总结:
-
匹配方式: 默认区分大小写,-i 忽略大小写,-E 支持多关键词匹配。
-
显示信息: 用 -n 显示行号,用 -c 统计匹配行数,用 -l 仅列出文件名。
-
过滤内容: 用 -v 显示不匹配关键词的内容。
-
递归搜索: 用 -r 搜索目录及子目录中的所有文件。
-
grep 可在 命令行中搜索,应对日志分析,本文快速定位
-
33. find:文件搜索
-
找文件,筛文件,批量操作文件
用法:find [搜索路径] [条件] [操作]
-
灵活的文件查找命令,支持文件名,类型,大小,修改时间等条件精准搜索,对结果执行操作。
-
常用操作
# 1. 查找当前目录下名为 file.txt 的文件 find . -name "ludeng.txt" # 2. 忽略大小写:查找文件名中包含 test 的文件 find /path/to/dir -iname "*test*" # 3. 按类型查找:查找当前目录下所有目录 find . -type d # 4. 按大小查找:找出大于 10MB 的文件 find . -size +10M # 5. 按时间查找:查找最近 7 天修改过的文件 find . -mtime -7 # 6. 结合操作:查找 .log 文件并删除 find . -name "*.log" -exec rm {} \;
总结
-
按文件名: 用 -name 或 -iname 匹配文件名( -inam 忽略大小写)。
-
按类型: 用 -type 筛选类型(d 目录,f 文件)。
-
按大小: 用 -size 精确筛选文件大小。
-
按时间: 用 -mtime 找最近修改的文件。
-
结合操作: 用 -exec 对结果执行操作,比如删除或移动文件。
find 是对文件进行管理,搜索和操作的命令。
34. sed:文本处理
-
批量修改文件,替换文本内容
用法:sed [选项] '命令' 文件
-
强大的流式编辑器,支持查找,替换,删除,插入等操作,适用于文本处理和自动化脚本
-
常用操作
# 1. 查找并替换:将文件中所有 "old" 替换为 "new" sed 's/old/new/g' ludeng.txt # 2. 只显示替换后的结果,不修改原文件 sed 's/old/new/g' ludeng.txt # 3. 直接修改文件(加 -i) sed -i 's/old/new/g' ludeng.txt # 4. 删除包含 "unwanted" 的行 sed '/unwanted/d' ludeng.txt (不修改原文件) sed -i '/unwanted/d' ludeng.txt (直接修改文件) # 5. 显示文件的特定行 (如第5行) sed -n '5' ludeng.txt # 6. 批量插入内容:在文件每一行后添加 "END" sed 's/$/END/' ludeng.txt
总结
-
查找替换: 用 s/old/new/g 替换文本内容。
-
直接修改: 加 -i 参数直接修改文件内容。
-
删除行: 用 /pattern/d 删除匹配的行。
-
插入内容: 用 s/$/ 内容/ 在每行末尾添加内容。
sed 是命令行下的文本处理神器
35. awk:文本分析
-
从数据中提取想要的信息
用法:awk '条件 { 动作 }' 文件
-
适合处理结构文本,如日志,CSV 文件,支持模式匹配,字段操作,条件过滤等。
-
常用操作
# 1. 打印每行的第 1 列和第 3 列 awk '{print $1, $3}' ludeng.txt # 2. 答应包含关键字 "error" 的行 awk '/error/ {print}' ludeng.txt # 3. 条件过滤:打印第 3 列值大于 100 的行 awk '$3 > 100{print}' ludeng.txt # 4. 在输出中添加分隔符(如逗号) awk '{print $1","$2}' ludeng.txt # 5. 统计行数 awk 'END {print NR}' ludeng.txt # 6. 处理 CSV 文件:打印第 2 列 awk -F ',' '{print $2}' ludeng.csv # 7. 计算列总和:统计第 3 列的总和 awk '{sum += $3} END {print sum}' ludeng.txt
总结:
-
字段操作:
$1, $2, $3
表示第 1、2、3 列。 -
条件过滤:用 /pattern/ 或条件语句 (如 $3 >100)
-
自定义分隔符:用 -F 指定分隔符 (如 -F ',' 处理CSV文件)
-
内置变量:
-
NR: 行号
-
NF: 字段数
-
$0: 整段内容
-
awk 对文本进行处理,数据提取与分析
36. wc:统计文件信息
-
统计出文件有多少行,多少单词
用法:wc [参数] 文件名
-
常用参数:
#统计行数 (-l) wc -l ludeng.txt ---显示文件总行数 #统计单词数 (-w) wc -w ludeng.txt ---统计文件中有多少单词
wc 的几个参数简单使用,-l 数行 ,-w 数单词。