請收藏,Linux 運維必備的 40 個命令總結(jié),收好了~
公眾號關(guān)注“杰哥的IT之旅”,
選擇“星標(biāo)”,重磅干貨,第一時間送達(dá)!

來自:51CTO博客
作者:AIOPS_DBA
鏈接:https://blog.51cto.com/wangwei007/1100991
1、刪除0字節(jié)文件
find -type f -size 0 -exec rm -rf {} \;
PS -e -o "%C : %p : %z : %a"|sort -k5 -nr
3、按 CPU 利用率從大到小排列
ps -e -o "%C : %p : %z : %a"|sort -nr
4、打印 cache 里的URL
grep?-r?-a?jpg?/data/cache/*?|?strings?|?grep?"http:"?|?awk?-F'http:'?'{print?"http:"$2;}'
5、查看 http 的并發(fā)請求數(shù)及其 TCP 連接狀態(tài):
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config sed 在這個文里 Root 的一行,匹配 Root 一行,將 no 替換成 yes。7、如何殺掉 MySQL 進(jìn)程
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9 (從中了解到awk的用途)killall -TERM mysqldkill -9 `cat /usr/local/apache2/logs/httpd.pid` 試試查殺進(jìn)程PID
8、顯示運行 3 級別開啟的服務(wù):
ls /etc/rc3.d/S* |cut -c 15- (從中了解到cut的用途,截取數(shù)據(jù))
9、如何在編寫 SHELL 顯示多個信息,用 EOF
cat << EOF+--------------------------------------------------------------+| === Welcome to Tunoff services === |+--------------------------------------------------------------+EOF
10、for 的巧用(如給 MySQL 建軟鏈接)
cd /usr/local/mysql/binfor i in *do ln /usr/local/mysql/bin/$i /usr/bin/$idone
11、取 IP 地址
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'| cut -c 6-或者ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
12、內(nèi)存的大小:
free -m |grep "Mem" | awk '{print $2}'
13
netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
14、查看 Apache 的并發(fā)請求數(shù)及其 TCP 連接狀態(tài):
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
15、因為同事要統(tǒng)計一下服務(wù)器下面所有的 jpg 的文件的大小,寫了個 SHELL 給他來統(tǒng)計。原來用 xargs 實現(xiàn),但他一次處理一部分。搞的有多個總和……,下面的命令就能解決。
find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
CPU 的數(shù)量(多核算多個CPU,cat /proc/cpuinfo |grep -c processor)越多,系統(tǒng)負(fù)載越低,每秒能處理的請求數(shù)也越多。
16、CPU負(fù)載
cat /proc/loadavg
檢查前三個輸出值是否超過了系統(tǒng)邏輯 CPU 的4倍。
17、?CPU負(fù)載
mpstat 1 1
檢查 %idle 是否過低(比如小于5%)。
18、內(nèi)存空間
free
檢查 free 值是否過低,也可以用 # cat /proc/meminfo
19、SWAP 空間 ??
free檢查 swap used 值是否過高,如果 swap used 值過高,進(jìn)一步檢查 swap 動作是否頻繁:
vmstat 1 5
觀察 si 和 so 值是否較大
20、磁盤空間 ?
df -hdu -cks * | sort -rn | head -n 10
21、磁盤 I/O 負(fù)載
iostat -x 1 2檢查I/O使用率(%util)是否超過 100%
22、網(wǎng)絡(luò)負(fù)載
sar -n DEV檢查網(wǎng)絡(luò)流量(rxbyt/s, txbyt/s)是否過高
23、網(wǎng)絡(luò)錯誤
netstat -i檢查是否有網(wǎng)絡(luò)錯誤(drop fifo colls carrier),也可以用命令:# cat /proc/net/dev
24、網(wǎng)絡(luò)連接數(shù)目
netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n
25、進(jìn)程總數(shù) ??
ps aux | wc -l檢查進(jìn)程個數(shù)是否正常 (比如超過250)
26、可運行進(jìn)程數(shù)目 ??
vmwtat 1 5列給出的是可運行進(jìn)程的數(shù)目,檢查其是否超過系統(tǒng)邏輯 CPU 的 4 倍
27、進(jìn)程 ??
top -id 1觀察是否有異常進(jìn)程出現(xiàn)。
28、網(wǎng)絡(luò)狀態(tài),檢查DNS,網(wǎng)關(guān)等是否可以正常連通
29、用戶
who | wc -l檢查登錄用戶是否過多 (比如超過50個) ? 也可以用命令:# uptime。
30、系統(tǒng)日志
# cat /var/log/rflogview/*errors檢查是否有異常錯誤記錄 ? 也可以搜尋一些異常關(guān)鍵字,例如:
grep -i error /var/log/messagesgrep -i fail /var/log/messages
31、核心日志 ??
dmesg檢查是否有異常錯誤記錄。
32、系統(tǒng)時間 ??
date檢查系統(tǒng)時間是否正確。
33、打開文件數(shù)目 ??
lsof?|?wc?-l檢查打開文件總數(shù)是否過多。
34、日志?
# logwatch –print35、殺掉80端口相關(guān)的進(jìn)程
lsof -i :80|grep -v “ID”|awk ‘{print “kill -9”,$2}’|sh36、清除僵死進(jìn)程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9
37、tcpdump 抓包,用來防止80端口被人攻擊時可以分析數(shù)據(jù)
tcpdump?-c?10000?-i?eth0?-n?dst?port?80?>?/root/pkts
38、然后檢查IP的重復(fù)數(shù)并從小到大排序 注意 “-t\ +0” ? 中間是兩個空格
# less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0
39、查看有多少個活動的 php-cgi 進(jìn)程
netstat -anp | grep php-cgi | grep ^tcp | wc -l
40、查看系統(tǒng)自啟動的服務(wù)
chkconfig --list | awk '{if ($5=="3:on") print $1}'
41、kudzu 查看網(wǎng)卡型號
kudzu --probe --class=network
常用正則表達(dá)式
1.匹配中文字符的正則表達(dá)式:?[\u4e00-\u9fa5]
評注:匹配中文還真是個頭疼的事,有了這個表達(dá)式就好辦了
2.匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff]
評注:可以用來計算字符串的長度(一個雙字節(jié)字符長度計2,ASCII字符計1)
3.匹配空白行的正則表達(dá)式:\n\s*\r
評注:可以用來刪除空白行
4.匹配 HTML 標(biāo)記的正則表達(dá)式:<(\S*?)[^>]*>.*?\1>|<.*? />
評注:網(wǎng)上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對于復(fù)雜的嵌套標(biāo)記依舊無能為力
5.匹配首尾空白字符的正則表達(dá)式:^\s*|\s*$
評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達(dá)式
6.匹配Email地址的正則表達(dá)式:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
評注:表單驗證時很實用
7.匹配網(wǎng)址URL的正則表達(dá)式:[a-zA-z]+://[^\s]*
評注:網(wǎng)上流傳的版本功能很有限,上面這個基本可以滿足需求
8.匹配帳號是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
評注:表單驗證時很實用
9.匹配國內(nèi)電話號碼:\d{3}-\d{8}|\d{4}-\d{7}
評注:匹配形式如 0511-4405222 或 021-87888822
10.匹配騰訊QQ號:[1-9][0-9]{4,}
評注:騰訊QQ號從10000開始
11.匹配中國郵政編碼:[1-9]\d{5}(?!\d)
評注:中國郵政編碼為6位數(shù)字
12.匹配×××:\d{15}|\d{18}
評注:中國的×××為15位或18位
13.匹配ip地址:\d+\.\d+\.\d+\.\d+
評注:提取 IP 地址時有用
14.匹配特定數(shù)字:
^[1-9]\d*$ ? //匹配正整數(shù)^-[1-9]\d*$? //匹配負(fù)整數(shù)^-?[1-9]\d*$ //匹配整數(shù)^[1-9]\d*|0$ //匹配非負(fù)整數(shù)(正整數(shù)?+?0)^-[1-9]\d*|0$ //匹配非正整數(shù)(負(fù)整數(shù)?+?0)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數(shù)^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負(fù)浮點數(shù)^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點數(shù)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非負(fù)浮點數(shù)(正浮點數(shù)?+?0)^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點數(shù)(負(fù)浮點數(shù)?+?0)
評注:處理大量數(shù)據(jù)時有用,具體應(yīng)用時注意修正
15.匹配特定字符串:
^[A-Za-z]+$ //匹配由26個英文字母組成的字符串^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串^[A-Za-z0-9]+$ //匹配由數(shù)字和26個英文字母組成的字符串^\w+$ //匹配由數(shù)字、26個英文字母或者下劃線組成的字符串
評注:最基本也是最常用的一些表達(dá)式
如果您覺得這篇文章對您有點用的話,麻煩您為本文來個四連:轉(zhuǎn)發(fā)分享、點贊、點在看、留言,因為這將是我寫作與分享更多優(yōu)質(zhì)文章的最強動力!
本公眾號全部博文已整理成一個目錄,請在公眾號后臺回復(fù)「m」獲取!
推薦閱讀:
1、工作效率高的 Linux 管理員都會的 10 個關(guān)鍵技巧!
2、Linux 環(huán)境變量配置全攻略
3、一款超牛逼的 Linux 終端復(fù)用神器(附安裝、使用教程)
4、Linux 修改權(quán)限命令 chmod 用法示例
5、Linux 經(jīng)典的幾款收包引擎
6、Linux 系統(tǒng)下對目錄擴(kuò)容的方法
7、一文吃透 Linux 提權(quán)
8、Linux 日志文件系統(tǒng)原來是這樣工作的
9、Linux 網(wǎng)絡(luò)狀態(tài)工具 ss 命令使用詳解
10、一文理解 Linux 平均負(fù)載,附排查工具 關(guān)注微信公眾號「杰哥的IT之旅」,后臺回復(fù)「1024」查看更多內(nèi)容,回復(fù)「加群」備注:地區(qū)-職業(yè)方向-昵稱?即可加入讀者交流群。
推薦閱讀:
2、Linux 環(huán)境變量配置全攻略
3、一款超牛逼的 Linux 終端復(fù)用神器(附安裝、使用教程)
4、Linux 修改權(quán)限命令 chmod 用法示例
5、Linux 經(jīng)典的幾款收包引擎
6、Linux 系統(tǒng)下對目錄擴(kuò)容的方法
7、一文吃透 Linux 提權(quán)
8、Linux 日志文件系統(tǒng)原來是這樣工作的
9、Linux 網(wǎng)絡(luò)狀態(tài)工具 ss 命令使用詳解
10、一文理解 Linux 平均負(fù)載,附排查工具
點個[在看],是對杰哥最大的支持!

