Linux 運(yùn)維必備的 40 個命令總結(jié)

1、刪除0字節(jié)文件

find -type f -size 0 -exec rm -rf {} \;

2项滑、查看進(jìn)程
按內(nèi)存從大到小排列

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]}'

6桂躏、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 mysqld

kill -9 `cat /usr/local/apache2/logs/httpd.pid`   試試查殺進(jìn)程PID

8、顯示運(yùn)行 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/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done

11们何、取 IP 地址

ifconfig eth0 |grep "inet" |awk 'NR==1 {print $2}'  

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冤竹、因?yàn)橥乱y(tǒng)計一下服務(wù)器下面所有的 jpg 的文件的大小拂封,寫了個 SHELL 給他來統(tǒng)計。原來用 xargs 實(shí)現(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 -h
檢查是否有分區(qū)使用率(Use%)過高(比如超過90%)如發(fā)現(xiàn)某個分區(qū)空間接近用盡拙寡,可以進(jìn)入該分區(qū)的掛載點(diǎn),用以下命令找出占用空間最多的文件或目錄:
du -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私沮、可運(yùn)行進(jìn)程數(shù)目

vmwtat 1 5
列給出的是可運(yùn)行進(jìn)程的數(shù)目始赎,檢查其是否超過系統(tǒng)邏輯 CPU 的 4 倍

27、進(jìn)程

top -id 1
觀察是否有異常進(jìn)程出現(xiàn)。

28造垛、ping 網(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/messages
grep -i fail /var/log/messages

31乡翅、核心日志

dmesg
檢查是否有異常錯誤記錄。

32髓迎、系統(tǒng)時間

date
檢查系統(tǒng)時間是否正確峦朗。

33、打開文件數(shù)目

lsof | wc -l
檢查打開文件總數(shù)是否過多排龄。

34波势、日志

# logwatch –print
配置 /etc/log.d/logwatch.conf,將 Mailto 設(shè)置為自己的 email 地址橄维,啟動 mail 服務(wù)(sendmail或者postfix)尺铣,這樣就可以每天收到日志報告了。
缺省 logwatch 只報告昨天的日志争舞,可以用 # logwatch –print –range all 獲得所有的日志分析結(jié)果凛忿。
可以用 # logwatch –print –detail high 獲得更具體的日志分析結(jié)果(而不僅僅是出錯日志)。

35竞川、殺掉80端口相關(guān)的進(jìn)程

lsof -i :80|grep -v “ID”|awk ‘{print “kill -9”,$2}’|sh

36店溢、清除僵死進(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+)*
評注:表單驗(yàn)證時很實(shí)用

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}$

評注:表單驗(yàn)證時很實(shí)用

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*$  //匹配正浮點(diǎn)數(shù)
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負(fù)浮點(diǎn)數(shù)
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點(diǎn)數(shù)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$  //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(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á)式
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阎肝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肮街,更是在濱河造成了極大的恐慌风题,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫉父,死亡現(xiàn)場離奇詭異沛硅,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绕辖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門摇肌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仪际,你說我怎么就攤上這事围小。” “怎么了树碱?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵肯适,是天一觀的道長。 經(jīng)常有香客問我成榜,道長框舔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任赎婚,我火速辦了婚禮刘绣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挣输。我一直安慰自己纬凤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布歧焦。 她就那樣靜靜地躺著,像睡著了一般肚医。 火紅的嫁衣襯著肌膚如雪绢馍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天肠套,我揣著相機(jī)與錄音舰涌,去河邊找鬼。 笑死你稚,一個胖子當(dāng)著我的面吹牛瓷耙,可吹牛的內(nèi)容都是我干的朱躺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼搁痛,長吁一口氣:“原來是場噩夢啊……” “哼长搀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鸡典,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后野蝇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晰赞,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年纽甘,在試婚紗的時候發(fā)現(xiàn)自己被綠了良蛮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡悍赢,死狀恐怖决瞳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泽裳,我是刑警寧澤瞒斩,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站涮总,受9級特大地震影響胸囱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瀑梗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一烹笔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抛丽,春花似錦谤职、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蒿柳,卻和暖如春饶套,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背垒探。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工妓蛮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人圾叼。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓蛤克,卻偏偏與公主長得像捺癞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子构挤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容