45 個高效 Linux 命令組合,可以解決 99- 日常運維需求!

大家好,這裏是浩道 Linux,今天給大家帶來 45 個高效 Linux 命令組合,用好這些命令,你會發現實際可以解決 99% 日常運維工作需求了。

以下相關高效命令實用指數不分先後,更多的是以簡單的命令形式帶給大家更好的使用體驗。

1、如何快速創建多個相同類型的文件;

如創建名字爲 haodao1.py,haodao2.py 到 haodao100.py 的批量文件。

touch haodao{1..100}.py

2、如何快速生成一個大文件;

有時候需要在本機生成一個大文件,用於測試磁盤的讀寫能力,可以藉助 dd 命令生成大文件。

dd if=/dev/zero of=/root/haodaolinux/test.txt bs=1M count=1024

上述命令,在 /root/haodaolinux 目錄下生成一個文件名爲 test.txt 大小爲 1G 的文件。

3、快速清空一個文件的方法,如清空 haodao.py 文件;

cat /dev/null > haodao.py

echo -n "" > haodao.py

true > haodao.py

: > haodao.py

truncate -s 0 haodao.py

以上 5 種快速清空文件方法,大家可以選擇自己常用的一種,大家知道幾種呢!

4、查找當前目錄下名字爲 haodao.py 的文件;

find . -name haodao.py

5、查找當前目錄下名字以. py 結尾的文件;

find . -name "*.py"

6、查找當前目錄下名字以. py 結尾的文件,並且指定爲文件類型搜索;

find . -type f -name "*.py"

7、查找當前目錄下名字包含 haodao 的目錄;

find . -type d -name "haodao*"

8、查找當前目錄下文件權限爲 755 的對應文件;

find . -type f -perm 755

9、查找當前目錄下不具有 755 權限的所有文件;

find . -type f ! -perm 755

10、查找當前目錄下具有 777 權限的所有文件,並且將這些權限全部改爲 755;

find . -type f -perm 777  -exec chmod 755 {} \;

11、查找當前目錄下文件大小爲 100MB~1GB 的所有文件;

find . -type f -size +100M -size -1G

12、查找當前目錄下以. py 結尾的文件,並且刪除;

find . -name "*.py" -exec rm -rf {} \;

find . -name "*.py" | xargs rm -rf {};

rm -rf $(find . -name "*.py")

以上 3 種快速刪除指定類別文件方法,哪一種更香更好用呢?

13、查找當前目錄下 30 天前修改過的所有文件;

find . -mtime 30

**14、**查找當前目錄下 30 天前訪問過的所有文件;

find . -atime 30

15、查找當前目錄下過去 1 個小時內修改過的所有文件;

find . -mmin -60

16、查找當前目錄下過去 1 個小時內訪問過的所有文件;

find . -amin -60

17、查找當前目錄下修改超過 10 天,但修改不到 30 天的所有文件;

find . -mtime +10 -mtime -30

18、查找當前目錄下 7 天前創建的,並且後綴名是以. py 結尾的文件,並且進行刪除;

find . -mtime +7  -name "*.py" | xargs rm -rf {};

19、查找當前目錄大於 1000M 的文件,並將該文件移動到 / root/home 目錄下;

find . -size +1000M -exec mv {} /root/home ;

20、查找當前目錄下創建於 30 天前,大小大於 1000M,以. py 結尾的文件,並且進行刪除;

find  . -name "*.py" –mtime +30 –type f –size +1000M |xargs rm –rf {};

21、查看有幾個邏輯 cpu, 包括 cpu 型號;

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

22、查看有幾顆 cpu, 每顆分別是幾核;

cat /proc/cpuinfo | grep physical | uniq -c

23、後臺運行命令,如後臺運行 ping www.baidu.com 命令;

 nohup ping www.baidu.com &

以上命令執行時後臺運行, 並且有 nohup.out 輸出。

nohup ping www.baidu.com > /dev/null &

以上命令執行時後臺運行, 不輸出任何日誌。

nohup ping www.baidu.com >out.log 2>&1 &

以上命令執行時後臺運行, 並將錯誤信息做標準輸出到日誌中。

24、強制關閉進程名包含 xxx 的所有進程;

ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9

25、/var 目錄按照目錄大小排序展示最前面 20 個目錄或者文件;

du -xB M --max-depth=2 /var | sort -rn | head -n 20

26、按照大到小排列出當前文件或者目錄最大的 10 個;

du -s * | sort -n | tail

27、查找當前系統內存使用量較高的進程(前 20 個);

ps -aux | sort -rnk 4 | head -20

可以看到輸出的第 4 列就是內存的耗用百分比。最後一列就是相對應的進程。

**28、**查找當前系統 CPU 使用量較高的進程(前 20 個);

ps -aux | sort -rnk 3 | head -20

可以看到輸出的第 3 列爲 CPU 的耗用百分比,最後一列就是對應的進程。

29、後臺持續 ping 包, 並將結果記錄到日誌中;

ping www.baidu.com | awk '{ print $0 " " strftime("%Y-%m-%d %H:%M:%S",systime()) }' >> /root/haodaoping.log &

以上命令實現後臺每一秒自動 ping www.baidu.com,並將結果記錄到 /root/haodaoping.log 文件中;

30、查找 80 端口請求數最高的前 15 個 IP;

netstat -anlp|grep 80|grep tcp|awk '{print $5}' |awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n 15

31、查看自己本機系統最常用的 10 條命令;

cat /root/.bash_history |grep -v ^# |awk '{print $1}' |sort |uniq -c |sort -nr |head -10

32、查看 2022 年 12 月 11 日 09 時這個時間內有多少個 IP 訪問你的 tomcat 服務器;

awk '{print $4,$1}' access.log | grep 11/Dec/2022:09 | awk '{print $2}'| sort | uniq | wc -l

這裏只要給出訪問日誌文件,就可以計算出來,自己可以根據需要計算某個時間點的訪問的 IP 數。

33、查看自己 tomcat 服務器訪問量排在前 20 位的 IP 地址;

cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -20

34、查看某一個 IP 地址訪問了 tomcat 服務器的哪些頁面資源;

grep ^192.168.30.200 access.log| awk '{print $1,$7}'

35、查看自己 tomcat 服務器中某一個頁面資源被訪問的次數;

grep "/portal/index.html" access.log | wc -l

36、通過抓包工具 tcpdump 查看 8080 端口訪問量情況;

tcpdump -i ens33 -tnn dst port 8080 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10

37、如何通過 sed 命令將文件 test.py 中的 haodao 全部替換成 HAODAO;

sed -i "s/haodao/HAODAO/g" test.py

38、替換 haodao.py 文件中的目錄;

sed -i "s:/etc/dhcp:/home:g" haodao.py

即表示將 haodao.py 文件中的 / etc/dhcp 目錄替換成 / home 目錄。

39、以下針對 haodao.py 文件舉例 sed 命令常見技巧;

1)去掉行首的 #字符,命令爲:

sed -i "s/^#//g" haodao.py

2)在行首添加 linux 字符,命令爲:

sed -i "s/^/linux/g" haodao.py

3)在行尾添加一個 study 字符,命令爲:

sed -i "s/$/study/" haodao.py

4)在特定行後,即 we love 行後添加一個 you 字符,命令爲:

sed -i "/we love/ayou" haodao.py

5)在特定行前,即 haodao 行前添加一個 where 字符,命令爲:

sed -i "/haodao/iwhere" haodao.py

40、針對網口 ens33 抓取不限制大小的報文,保存爲文件 haodao.cap;

tcpdump -i ens33 -s 0 -w haodao.cap

41、針對網口 ens33 進行抓包,過濾出 icmp 報文並且源 IP 地址是 192.168.20.231 的相關報文;

tcpdump icmp and src 192.168.20.231 -i ens33 -n

**42、**針對網口 ens33 進行抓包,過濾出源 IP 地址是 192.168.20.231 的相關報文;

tcpdump src host 192.168.20.231 -i ens33 -n -c 5

**43、**針對網口 ens33 進行抓包,過濾出目的 IP 地址是 192.168.20.231 的相關報文;

tcpdump dst host 192.168.20.231 -i ens33 -n -c 5

44、針對網口 ens33 進行抓包,過濾出端口號是 8080 的相關報文;

tcpdump port 8080 -i ens33 -n -c 5

45、針對網口 ens33 進行抓包,過濾出 80 端口到 443 端口 的相關報文;

tcpdump portrange 80-433 -i ens33 -n -c 8
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/u1IJQSPGtPgZosIehp0fTg