cat 查看文件内容
语法 cat 文件名
这个命令可以快速查看文件内容,甚至把多个文件拼起来显示
拼接文件内容
cat file1.txt file2.txt > combined.txt
显示合并后的文件内容(-n 加上行号)
cat -n combined.txt
查看cpu情况
cat /proc/cpuinfo
查看内存的详情
cat /proc/meminfo
tac 按倒序查看文件内容
最后一行先显示
more 查看文件内容
语法 more linux路径
和cat不同 如果文件内容过多可以一页一页展示 空格翻页 q退出查看
less 跟灵活的翻页查看
语法 less 文件名
用上下箭头滚动
输入/关键词 搜索
按q退出
more 和 less 区别
more 简单只能向后翻页
less 功能更加强大 支持前后翻页和搜索
head 文件内容看开头
语法 head 文件名
看文件前十行 想自定义行数 加 -n 参数
如 head -n 5 文件名 看前五行
tail 文件内容看结尾
语法 tail 文件名
看文件后十行 想自定义行数 加 -n 参数
如 tail -n 5 文件名 看后五行
动态显示新增内容 tail -f 文件名
grep 文本搜索
语法 grep 选项 关键词 文件/目录
支持关键词匹配 忽略大小写 行号显示等功能 适合日志分析 快速定位问题
常用操作
# 1. 查找文件中包含 "error" 的行 grep "error" logfile.txt # 2. 忽略大小写匹配 grep -i "error" logfile.txt # 3. 显示匹配行的行号 grep -n "error" logfile.txt # 4. 递归搜索目录下所有文件 grep -R "error" /path/to/directory # 5. 反向匹配:只显示不包含 "error" 的行 grep -v "error" logfile.txt # 6. 搜索多个关键词(用 \| 分隔) grep -E "error|fail" logfile.txt # 7. 统计匹配的行数 grep -c "error" logfile.txt # 8. 只显示匹配的文件名 grep -l "error" *.txt # 9.递归搜索 + 忽略二进制文件 (常用) grep -nRI "keyword" /path/to/directory
小总结
-
匹配方式: 默认区分大小写,
-i
忽略大小写,-E
支持多关键词匹配。 -
显示信息: 用
-n
显示行号,用-c
统计匹配行数,用-l
仅列出文件名。 -
过滤内容: 用
-v
显示不匹配关键词的内容。 -
递归搜索: 用
-r
搜索目录及子目录中的所有文件。
find 文件搜索
语法 find 搜索路径 条件 操作
支持按文件名,类型,大小,修改时间等条件精准搜索,还能直接对结果执行操作
常用操作
# 1. 按名称查找:查找当前目录下名为 file.txt 的文件 find . -name "file.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
匹配文件名(-iname
忽略大小写)。 -
按类型: 用
-type
筛选类型(d
目录,f
文件)。 -
按大小: 用
-size
精确筛选文件大小。 -
按时间: 用
-mtime
找最近修改的文件。 -
结合操作: 用
-exec
对结果执行操作,比如删除或移动文件。
sed 文本处理
强大的流式编辑器,支持查找,替换,删除,插入等操作,适用于文本处理和自动化脚本
语法 sed 选项 '命令' 文件
常用操作
# 1. 查找并替换:将文件中所有的 "old" 替换为 "new" sed 's/old/new/g' file.txt # 2. 只显示替换后的结果,不修改原文件 sed 's/old/new/g' file.txt # 3. 直接修改文件(加 -i) sed -i 's/old/new/g' file.txt # 4. 删除包含 "unwanted" 的行 sed '/unwanted/d' file.txt # 5. 显示文件的特定行(如第 5 行) sed -n '5p' file.txt # 6. 批量插入内容:在文件每一行后添加 "END" sed 's/$/ END/' file.txt
小总结
-
查找替换:用s/old/new/g 替换文本内容
-
直接修改:加 -i 参数直接修改文件内容
-
删除行:用/pattern/d 删除匹配的行
-
插入内容: 用s/$/内容 在每行末尾添加内容
awk 文本分析
适合处理结构化文本,如日志 csv文件,支持模式匹配,字段操作,条件过滤等
语法 awk '条件{动作}' 文件
常用操作
# 1. 打印每行的第 1 列和第 3 列 awk '{print $1, $3}' file.txt # 2. 打印包含关键字 "error" 的行 awk '/error/ {print}' file.txt # 3. 条件过滤:打印第 3 列值大于 100 的行 awk '$3 > 100 {print}' file.txt # 4. 在输出中添加分隔符(如逗号) awk '{print $1 "," $2}' file.txt # 5. 统计行数 awk 'END {print NR}' file.txt # 6. 处理 CSV 文件:打印第 2 列 awk -F ',' '{print $2}' file.csv # 7. 计算列总和:统计第 3 列的总和 awk '{sum += $3} END {print sum}' file.txt
小总结
-
字段操作: $1 表示1列
-
条件过滤:用/pattern/ 或条件语句(如$3>100)
-
自定义分隔符: 用-F指定分隔符(如-F’,‘处理csv文件)
-
内置变量: NR 行号 NF字段数 $0整行内容
wc 统计文件信息
语法 wc 参数 文件名
常用参数
-l 统计行数
-w 统计单词数