实用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.txthaodao100.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
  • 在行首添加 linuxsed -i "s/^/linux/g" haodao.txt
  • 在行尾添加 studysed -i "s/$/study/" haodao.txt
  • we love 行后添加 yoused -i "/we love/ayou" haodao.txt
  • haodao 行前添加 wheresed -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}'

结语

以上都是一些在日常工作中非常实用的小技巧,知识点虽然简单,但却不可或缺,也是很多朋友容易忽略的。如果你也觉得实用,就点个赞吧!