实用20个Linux小技巧,总有你没有用过的!
本文汇总了多位Linux运维老司机的实用技巧,涵盖文件操作、日志分析、sed命令、网络排查等场景,助你日常运维事半功倍。
前言
今天给大家分享诸多Linux运维老司机在用的一些小技巧。这些都是我结合道中朋友的分享进行的一次总结汇总,希望能够给大家在日常运维工作中带来如虎添翼的完美体验。
以下实用指数不分先后,更多是以简单的命令形式带给大家更好的体验。
一、文件操作技巧
1. 快速清空文件
清空 haodao.txt 文件:
bash
1
cat /dev/null > haodao.txt
2. 快速生成大文件
使用 dd 命令生成 1G 大小的测试文件:
bash
1
dd if=/dev/zero of=test.txt bs=1M count=1000
3. 批量创建文件
创建 haodao1.txt 到 haodao100.txt:
bash
1
touch haodao{1..100}.txt
4. 查找并删除 .txt 文件
bash
1
2
3
4
5
find . -name "*.txt" -exec rm -rf {} \;
# 或
find . -name "*.txt" | xargs rm -rf {}
# 或
rm -rf $(find . -name "*.txt")
5. 删除7天前的 .txt 文件
bash
1
find . -mtime +7 -name "*.txt" | xargs rm -rf {}
6. 查找大于1000M的文件并移动
bash
1
find . -size +1000M -exec mv {} /root/home \;
7. 复杂条件查找并删除
查找30天前、大于1000M、以 .txt 结尾的文件并删除:
bash
1
find . -name "*.txt" -mtime +30 -type f -size +1000M | xargs rm -rf {}
二、日志分析与网络排查
8. 查看Tomcat日志中有多少IP访问
bash
1
awk '{print $1}' access.log | sort | uniq | wc -l
9. 查看某时间段的IP访问数
查看2021年12月11日09时的IP数:
bash
1
awk '{print $4,$1}' access.log | grep 11/Dec/2021:09 | awk '{print $2}' | sort | uniq | wc -l
10. 查看访问量前10的IP
bash
1
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
11. 查看某个页面被访问的次数
bash
1
grep "/portal/index.html" access.log | wc -l
12. 查看某个IP访问了哪些页面
bash
1
grep ^192.168.20.100 access.log | awk '{print $1,$7}'
13. 用 tcpdump 查看8080端口访问量
bash
1
tcpdump -i ens120 -tnn dst port 8080 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -10
三、历史命令技巧
14. 常用历史命令操作
- 重复上一条命令:
!! - 执行历史中第N条命令:
!N(N 可通过history查看) - 执行最近一次以某个字符开头的命令:
!awk(以 awk 为例) - 使用上一个命令的最后一个参数:
!$
示例:将 test.txt 改名为 test.txt.bak:
bash
1
2
vi ./test.txt
mv !$ !$.bak
四、sed 文本处理技巧
15. 全局替换字符串
将 test.txt 中的 haodao 替换为 HAODAO:
bash
1
sed -i "s/haodao/HAODAO/g" test.txt
16. 替换目录路径
将 haodao.txt 中的 /etc/dhcp 替换为 /home:
bash
1
sed -i "s:/etc/dhcp:/home:g" haodao.txt
17. sed 常见行操作
- 去掉行首的
#:sed -i "s/^#//g" haodao.txt - 在行首添加
linux:sed -i "s/^/linux/g" haodao.txt - 在行尾添加
study:sed -i "s/$/study/" haodao.txt - 在
we love行后添加you:sed -i "/we love/ayou" haodao.txt - 在
haodao行前添加where:sed -i "/haodao/iwhere" haodao.txt
五、网络接口与IP信息
18. 过滤出状态为 UP 的网络接口
bash
1
ip addr | awk -F ":" '/state UP/ {print $2}'
19. 查看各网卡的IP地址
bash
1
ip -o addr | awk '/inet/{print $2,$4}'
结语
以上都是一些在日常工作中非常实用的小技巧,知识点虽然简单,但却不可或缺,也是很多朋友容易忽略的。如果你也觉得实用,就点个赞吧!