前言
大家好,這里是浩道linux,主要給大家分享linux、python、網絡通信相關的IT知識平臺。
今天浩道跟大家分享硬核linux干貨,關于實際運維中常常用到的linux高效技巧。一起看看哪些是你沒有用過的!
linux知識錦囊
以下實用指數不分先后,更多的是以簡單的命令形式帶給大家更好的體驗。
1、快速清空一個文件的方法,如清空haodao.txt文件
?
cat /dev/null > haodao.txt
?
2、查看tomcat服務器的日志有多少個IP訪問。
?
awk '{print $1}' access.log |sort |uniq |wc -l
?
3、如何在本機快速生成一個大文件。
有時候需要在本機生成一個大文件,用于測試磁盤的讀寫能力,可以借助dd命令生成大文件。
?
dd if=/dev/zero of=test.txt bs=1M count=1000
?
上述命令,生成一個文件名為test.txt 大小為 1G 的文件。
4、如何快速創建大批量相同類型的文件。
如創建名字為haodao1.txt,haodao2.txt到haodao100.txt的批量文件。
?
touch haodao{1..100}.txt
?
5、查找當前目錄下以.txt結尾的文件,并且刪除。
?
find . -name "*.txt" -exec rm -rf {} ;
?
或
?
find . -name "*.txt" |xargs rm -rf {};
?
或
?
rm -rf $(find . -name "*.txt")
?
6、查找當前目錄下7天前創建的,并且后綴名是以.txt結尾的文件,并且進行刪除。
?
find . -mtime +7 -name "*.txt" |xargs rm -rf {};
?
7、查找當前目錄大于1000M的文件,并將該文件移動到/root/home目錄下。
?
find?.?-size?+1000M?-exec?mv?{}?/root/home?;
?
8、查找當前目錄下創建于30天前,大小大于1000M,以.txt結尾的文件,并且進行刪除。
?
find . -name "*.txt" –mtime +30 –type f –size +1000M |xargs rm –rf {};
?
9、查看自己本機最常用的10條命令。
?
cat /root/.bash_history |grep -v ^# |awk '{print $1}' |sort |uniq -c |sort -nr |head -10
?
10、查看2021年12月11日09時這個時間內有多少個IP訪問你的tomcat服務器。
?
awk '{print $4,$1}' access.log | grep 11/Dec/2021:09 | awk '{print $2}'| sort | uniq | wc -l
?
這里只要給出訪問日志文件,就可以計算出來,自己可以根據需要計算某個時間點的訪問的IP數。
11、查看tomcat服務器訪問量排在前10 位的IP地址
?
cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10
?
12、查看tomcat服務器中某一個頁面資源被訪問的次數
?
grep "/portal/index.html" access.log | wc -l
?
13、查看某一個IP地址訪問了tomcat服務器的哪些頁面資源
?
grep ^192.168.20.100 access.log| awk '{print $1,$7}'
?
14、通過抓包工具tcpdump看看8080端口訪問量情況
?
tcpdump -i ens120 -tnn dst port 8080 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10
?
15、歷史命令常用技巧
1)重復執行上一條命令為:!!
2)重復執行history歷史中第N條命令為:!N
????其中N可以通過history命令進行查看。
3)重復執行最近一次,以某個字符開頭的歷史命令,如以awk開頭的歷史命令為:!awk
4)最近一次命令的最后一個參數,命令為:!$
????如最近一次命令為:vi?./test.txt
????執行命令:mv?!$?!$.bak
????此時即可實現將當前目錄下的test.txt改名為test.txt.bak
16、如何通過sed命令將文件test.txt中的haodao全部替換成HAODAO
?
sed -i "s/haodao/HAODAO/g" test.txt
?
17、替換haodao.txt文件中的目錄
?
sed -i "s:/etc/dhcp:/home:g" haodao.txt
?
即表示將haodao.txt文件中的/etc/dhcp目錄替換成/home目錄
18、以下針對haodao.txt文件舉例sed命令常見技巧
1)去掉行首的#字符,命令為:
?
sed -i "s/^#//g" haodao.txt
?
2)在行首添加linux字符,命令為:
?
sed -i "s/^/linux/g" haodao.txt
?
3)在行尾添加一個study字符,命令為:
?
sed -i "s/$/study/" haodao.txt
?
4)在特定行后,即we love行后添加一個you字符,命令為:
?
sed -i "/we love/ayou" haodao.txt
?
5)在特定行前,即haodao行前添加一個where字符,命令為:
?
sed -i "/haodao/iwhere" haodao.txt
?
?
ip?addr?|awk?-F?":"?'/state?UP/?{print?$2}'
?
20、過濾出對應各網卡的IP地址信息
?
ip -o addr |awk '/inet/{print $2,$4}'
?
結語
以上都是一些在日常工作中非常使用的小技巧,知識點雖然簡單,但是卻不能不使用,也是很多朋友容易忽略掉的。如果你也覺得實用,那么就讓我們一起分享給身邊的小伙伴吧。獨樂樂不如眾樂樂,知識本就是需要大家傳播的!
審核編輯:湯梓紅
評論
查看更多