一坏怪、 查找命令
1 grep
1 grep 基礎(chǔ)
-C 關(guān)鍵字 上下行數(shù)
-A 關(guān)鍵字和后面的N行
-B 關(guān)鍵字和前面的N行
-n 顯示行號(hào)
-i 忽略大小寫
-c 只輸出 關(guān)鍵字出現(xiàn)的次數(shù)
-v 輸出沒有包含關(guān)鍵字內(nèi)容
--color=auto 關(guān)鍵字高亮
-m num 查詢最大數(shù)量, --max-count=num
例子
tail -n 2000 server.log | grep sendAddPostCommentEvent -n -C 1 --color=a
2 并且查詢
- F 參數(shù)強(qiáng)制不使用任何表達(dá)式
grep 5288490287094574636 server.log| grep broadcastPushToWeb|grep -F 'status\":2'
3 或者查詢
egrep 'broadcastPushToWeb|5236743288469332012' server.log
grep 'pattern1 \| pattern2' filename
grep -E 'pattern1|pattern2' filename
4 NOT走净,非查詢
grep -v 'broadcastPushToWeb' filename
5. 后面前面第一次出現(xiàn)
#最后一次
grep -C 100 'listMessageByTypes' catalina.log | tail -200
# 最前面
grep -C 100 'listMessageByTypes' catalina.log | head -200
二、系統(tǒng)信息命令
1. top命令
1. 語法
- -和|是可選的
top -hv | -bcEeHiOSs1 -d secs -n max -u | U user -p pid(s) -o field -w [cols]
1.1 選項(xiàng)
選項(xiàng) | 名稱 | 描述 |
---|---|---|
-h | 幫助 | 顯示命令幫助 |
-v | 版本 | |
-b | 批處理方式 | 以批處理模式啟動(dòng) top嫂便,允許將命令的輸出發(fā)送到文件或其他程序撒妈。Top 不接受批處理模式下的輸入派继,并且一直運(yùn)行到終止或者達(dá)到指定的迭代限制為止。 |
-c | 切換命令行/程序名稱 | 反轉(zhuǎn)最后記住的 c 狀態(tài)仇奶。如果頂部顯示命令行貌嫡,該字段現(xiàn)在顯示程序名稱,反之亦然该溯。 |
-d [secs.tenths] | 延遲時(shí)間間隔 | 提示您在更新屏幕之前指定延遲岛抄,并覆蓋默認(rèn)值。數(shù)值以秒為單位狈茉。該命令接受小數(shù)秒夫椭,但不接受負(fù)數(shù)。 |
-e [k / m /g / t / p] | 切換任務(wù)內(nèi)存縮放 | 允許您更改top 任務(wù)區(qū)域內(nèi)存縮放氯庆〔淝铮可用的縮放選項(xiàng)是k(kibibytes)扰付、m(mebibytes)、g(gibibytes)仁讨、t(tebibytes)羽莺、p(pebibytes)。 |
-E [k / m / g / t / p / e] | 切換摘要內(nèi)存縮放 | 允許您更改top摘要區(qū)域內(nèi)存縮放洞豁⊙喂蹋可用的縮放選項(xiàng)是k (kibibytes)、m (mebibytes)族跛、g(gibibytes)闰挡、t(tebibytes)、p(pebibytes)礁哄、e(exbibytes)长酗。 |
-H | 線程模式操作 | 指定-H選項(xiàng)指示top 顯示單個(gè)線程而不是每個(gè)進(jìn)程中所有線程的總和。 |
-i | 空閑進(jìn)程切換 | 反轉(zhuǎn)最后記住的i狀態(tài)桐绒。當(dāng)開關(guān)關(guān)閉時(shí)夺脾,top 不顯示自上次更新以來未使用 CPU 資源的任務(wù)。 |
-n | 限制迭代次數(shù) | top 指定結(jié)束前要生成的最大迭代次數(shù)茉继。 |
-o [field name] | 覆蓋排序字段 | 指定top 用于對(duì)任務(wù)進(jìn)行排序的字段名稱咧叭。在字段名稱前加上一個(gè)+強(qiáng)制top 從高到低排序,同時(shí)在它前面加上-訂單任務(wù)從低到高烁竭。該-o選項(xiàng)主要支持自動(dòng)批處理模式操作菲茬。 |
-O | 輸出字段名稱 | 該-O選項(xiàng)補(bǔ)充了該-o選項(xiàng),導(dǎo)致top 分別打印每個(gè)可用的字段名稱派撕,然后退出婉弹。 |
-p [N1, N2...] | 監(jiān)控進(jìn)程 ID 模式 | 指示top 僅監(jiān)視具有指定進(jìn)程 ID 的進(jìn)程。當(dāng)與線程模式 ( -H) 結(jié)合使用時(shí)终吼,top 顯示每個(gè)受監(jiān)視的 PID 線程組中的所有進(jìn)程镀赌。PID 的最大數(shù)量為 20。指定 PID 值0被視為top 程序進(jìn)程 ID际跪。要恢復(fù)正常操作商佛,請(qǐng)發(fā)出以下任何命令:=、u或U姆打,因?yàn)樗鼈兪腔コ獾摹?/td> |
-s | 安全模式操作 | 以安全模式啟動(dòng)top 良姆,即使是 root。 |
-S | 累計(jì)時(shí)間切換 | 反轉(zhuǎn)最后記住的S狀態(tài)穴肘。當(dāng)累積時(shí)間切換為 ON 時(shí)歇盼,每個(gè)進(jìn)程都會(huì)列出它已使用的 CPU 時(shí)間。 |
-u / -U [ID or name] | 用戶過濾模式 | 僅顯示與指定用戶 ID 或用戶名匹配的進(jìn)程评抚。該-u選項(xiàng)僅匹配有效用戶豹缀,而該-U選項(xiàng)匹配任何用戶 - 真實(shí)伯复、有效、已保存或文件系統(tǒng)邢笙。在用戶 ID 或用戶名前加上感嘆號(hào) ( !) 會(huì)導(dǎo)致top 僅顯示與提供的進(jìn)程不匹配的進(jìn)程啸如。 |
-w [number] | 輸出寬度覆蓋 | 當(dāng)不帶參數(shù)使用時(shí),-w指示top 使用COLUMNS=和LINES=環(huán)境變量格式化輸出(如果適用)氮惯。否則叮雳,寬度固定為最大 512 列。-w在行號(hào)不受限制的情況下妇汗,將參數(shù)附加到增加(最多 512)或減少輸出寬度帘不。該程序永遠(yuǎn)不會(huì)超過top 調(diào)用時(shí)的實(shí)際終端尺寸。 |
-1 | 單個(gè)/獨(dú)立 CPU 狀態(tài)切換 | 反轉(zhuǎn)最后記住的 CPU 狀態(tài)部分杨箭。根據(jù) NUMA 節(jié)點(diǎn)命令切換 ( 2) 狀態(tài)捣郊,在一行中或單獨(dú)顯示所有 CPU 信息。 |
2. 示例
2.1 top
- 輸出
- image.png
- 輸出顯示摘要區(qū)域(具有資源使用統(tǒng)計(jì)信息的儀表板)和任務(wù)區(qū)域(所有進(jìn)程的列表)
- top默認(rèn)情況下每三秒更新一次信息。
- 操作
- 如果進(jìn)程列表很長,請(qǐng)使用向上和向下箭頭以及Page Up和Page Down鍵滾動(dòng)瀏覽它减俏。要退出top酗昼,請(qǐng)按q叠荠。
- 發(fā)送信號(hào)
- 使用該top命令向正在運(yùn)行的進(jìn)程發(fā)送任何信號(hào)。按k鍵并輸入過程 PID际起。top讓您有機(jī)會(huì)鍵入要發(fā)送的信號(hào)。不輸入特定信號(hào)會(huì)終止進(jìn)程弟跑。
- image.png
2.2 X 次重復(fù)后退出
- 語法
- 對(duì)于[X]灾前,指定要top刷新輸出的次數(shù)。
top -n [X]
2.3 排序進(jìn)程
- 排序關(guān)鍵字
- M. Sort by the %MEM column.
- N. Sort by PID column.
- T. Sort by the TIME+ column.
- P. Sort by the %CPU column.
2.4 按特定用戶過濾進(jìn)程
- -u選項(xiàng)允許您顯示所有用戶特定的進(jìn)程孟辑。在運(yùn)行時(shí)按u鍵top或使用以下語法:
top -u [user name]
- 輸出
- image.png
2.5 更改顯示單位
-
語法
- 使用E鍵選擇要top用于顯示內(nèi)存值的單位哎甲。
- 按小寫字母e選擇在進(jìn)程列表中顯示值的單位。
-
可用的選項(xiàng)是
- kibibytes (KiB)
- mebibytes (MiB)
- gibibytes (GiB)
- tebibytes (TiB)
- pebibytes (PiB)
- exbibytes (EiB - applies only for memory values)
-
輸出
- image.png
2.5 更改輸出內(nèi)容
- 默認(rèn)top輸出包含大量信息饲嗽,可能看起來很混亂炭玫。通過幾次按鍵調(diào)整內(nèi)容,找到您需要的信息貌虾,或從摘要中刪除某些部分吞加。
- 單個(gè) CPU 核心統(tǒng)計(jì)數(shù)據(jù)
- 語法
- 按鍵盤上的1可以查看每個(gè) CPU 內(nèi)核的單獨(dú)統(tǒng)計(jì)信息。反復(fù)按1切換核心統(tǒng)計(jì)數(shù)據(jù)。
- 輸出
- image.png
- CPU 使用圖
-
top支持基本的 ASCII 圖衔憨,表示每個(gè) CPU 內(nèi)核的使用情況叶圃。按t打開或關(guān)閉圖表。
- 第一次按t 顯示條紋進(jìn)度
- 第二次按t 顯示實(shí)心進(jìn)度
- 第三次按t刪除 CPU 顯示和任務(wù)摘要部分巫财。
-
輸出
- image.png
- 按t 變成實(shí)心
- image.png
- 內(nèi)存使用圖
- 該命令還支持內(nèi)存和交換內(nèi)存行的圖形顯示選項(xiàng)盗似。要獲得內(nèi)存使用情況的直觀表示,請(qǐng)按m平项。再次按m刪除線條赫舒。
- 更改文字顏色
通過向輸出添加顏色來強(qiáng)調(diào)輸出中的信息。按z鍵為顯示添加顏色:
-
輸出
- image.png
-
自定義顯示元素并選擇不同的顏色
- 按Z打開顏色設(shè)置頁面闽瓢。
- 按以下鍵選擇要更改的顯示元素:
- S接癌。摘要數(shù)據(jù)區(qū)域。
- M扣讼。消息和提示缺猛。
- H。列標(biāo)題椭符。
- T荔燎。進(jìn)程列表中的任務(wù)信息洒缀。
- 按Enter確認(rèn)選擇绍哎。
- 按以下鍵選擇要更改的顯示元素:
- 使用以下鍵之一為所選元素選擇顏色:
- 0。黑色的械念。
- 1 . 紅色的蒸健。
- 2 . 綠色的座享。
- 3 . 黃色。
- 4 . 藍(lán)色的似忧。
- 5 . 品紅渣叛。
- 6 . 青色。
- 7 . 白色的盯捌。
- 按Enter確認(rèn)選擇淳衙。
- 按Z打開顏色設(shè)置頁面闽瓢。
2.6 顯示進(jìn)程命令行
-
語法
- top -c
- 進(jìn)入 top 按c
- image.png
2.7 流程層次結(jié)構(gòu)
- 要查看哪些進(jìn)程已啟動(dòng)或由其他進(jìn)程生成,請(qǐng)按V鍵饺著。
- 當(dāng)想查看系統(tǒng)上的子-父進(jìn)程層次結(jié)構(gòu)時(shí)滤祖,樹視圖很有用。
- 輸出
- image.png
2.8 顯示活動(dòng)任務(wù)
- 按I鍵 瓶籽,要過濾輸出并僅顯示活動(dòng)任務(wù)
- 輸出隱藏了自上次更新以來未使用任何 CPU 資源的任務(wù)。
- 輸出
- image.png
2.9 限制進(jìn)程數(shù)
- 按n鍵限制輸出中的進(jìn)程數(shù)埂材。無論活動(dòng)進(jìn)程的數(shù)量如何塑顺。top提示輸入要查看的進(jìn)程數(shù)
- 例如,我們只想顯示前 3 個(gè)進(jìn)程:
- image.png
2.10 更改進(jìn)程優(yōu)先級(jí)
- 過程
- 運(yùn)行top并按r鍵
- 出現(xiàn)提示時(shí),輸入進(jìn)程 ID 并按Enter 鍵严拒。
- 輸入 PID 后扬绪,程序會(huì)提示輸入一個(gè)新的 nice 值。輸入新值并按Enter 鍵裤唠。
負(fù) nice 值表示更高的進(jìn)程優(yōu)先級(jí)挤牛。
-
更改PID 28 優(yōu)先級(jí) 為 12
- image.png
2.10 過濾進(jìn)程
- 過濾器top功能允許使用過濾器表達(dá)式來限制在列表中查看哪些進(jìn)程。按o鍵激活過濾器選項(xiàng)种蘸。該程序會(huì)提示您輸入過濾器表達(dá)式墓赴。
- 例子
- 顯示 %MEM > 0.2 的
- image.png
三、網(wǎng)絡(luò)相關(guān)
1. netstat 用于顯示網(wǎng)絡(luò)狀態(tài)
1. 語法
netstat [-acCeFghilMnNoprstuvVwx][-A<網(wǎng)絡(luò)類型>][--ip]
1.1 參數(shù)說明
- -a或--all 顯示所有連線中的Socket航瞭。
- -A<網(wǎng)絡(luò)類型>或--<網(wǎng)絡(luò)類型> 列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址诫硕。
- -c或--continuous 持續(xù)列出網(wǎng)絡(luò)狀態(tài)。
- -C或--cache 顯示路由器配置的快取信息刊侯。
- -e或--extend 顯示網(wǎng)絡(luò)其他相關(guān)信息章办。
- -F或--fib 顯示路由緩存。
- -g或--groups 顯示多重廣播功能群組組員名單滨彻。
- -h或--help 在線幫助藕届。
- -i或--interfaces 顯示網(wǎng)絡(luò)界面信息表單。
- -l或--listening 顯示監(jiān)控中的服務(wù)器的Socket亭饵。
- -M或--masquerade 顯示偽裝的網(wǎng)絡(luò)連線休偶。
- -n或--numeric 直接使用IP地址,而不通過域名服務(wù)器冬骚。
- -N或--netlink或--symbolic 顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號(hào)連接名稱椅贱。
- -o或--timers 顯示計(jì)時(shí)器。
- -p或--programs 顯示正在使用Socket的程序識(shí)別碼和程序名稱只冻。
- -r或--route 顯示Routing Table庇麦。
- -s或--statistics 顯示網(wǎng)絡(luò)工作信息統(tǒng)計(jì)表。
- -t或--tcp 顯示TCP傳輸協(xié)議的連線狀況喜德。
- -u或--udp 顯示UDP傳輸協(xié)議的連線狀況山橄。
- -v或--verbose 顯示指令執(zhí)行過程。
- -V或--version 顯示版本信息舍悯。
- -w或--raw 顯示RAW傳輸協(xié)議的連線狀況航棱。
- -x或--unix 此參數(shù)的效果和指定"-A unix"參數(shù)相同。
- --ip或--inet 此參數(shù)的效果和指定"-A inet"參數(shù)相同萌衬。
1.2 列頭信息
- Proto
- 套接字使用的協(xié)議(tcp饮醇、udp、raw)秕豫。
- Recv-Q
- 連接到此套接字的用戶程序未復(fù)制的字節(jié)數(shù)朴艰。
- 這些數(shù)字一般都應(yīng)該是0,如果不是則表示軟件包正在隊(duì)列中堆積,這種情況是非常少見的
- Send-Q
- 遠(yuǎn)程主機(jī)未確認(rèn)的字節(jié)數(shù)观蓄。
- Local Address
- 套接字本端的地址和端口號(hào)。除非指定--numeric ( -n ) 選項(xiàng)祠墅,否則套接字地址會(huì)解析為其規(guī)范主機(jī)名 (FQDN)侮穿,而端口號(hào)會(huì)轉(zhuǎn)換為相應(yīng)的服務(wù)名稱。
- 本地計(jì)算機(jī)的 IP 地址和正在使用的端口號(hào)毁嗦。除非指定-n參數(shù)亲茅,否則顯示與 IP 地址和端口名稱對(duì)應(yīng)的本地計(jì)算機(jī)的名稱。如果端口尚未建立狗准,則端口號(hào)顯示為星號(hào) (*)克锣。
- Foreign Address
- 套接字所連接的遠(yuǎn)程計(jì)算機(jī)的 IP 地址和端口號(hào)。除非指定-n參數(shù)驶俊,否則將顯示對(duì)應(yīng)于 IP 地址和端口的名稱娶耍。如果端口尚未建立,則端口號(hào)顯示為星號(hào) (*)饼酿。
- State
- 指示TCP連接的狀態(tài)榕酒,
- ESTABLISHED 套接字已建立連接。
- SYN_SENT 套接字正在主動(dòng)嘗試建立連接故俐。
- SYN_RECV 已從網(wǎng)絡(luò)收到連接請(qǐng)求想鹰。
- FIN_WAIT1 套接字已關(guān)閉,連接正在關(guān)閉药版。
- FIN_WAIT2 連接已關(guān)閉辑舷,套接字正在等待來自遠(yuǎn)程端的關(guān)閉。
- TIME_WAIT 套接字在關(guān)閉后等待處理仍在網(wǎng)絡(luò)中的數(shù)據(jù)包槽片。
- CLOSED 套接字未被使用何缓。
- CLOSE_WAIT 遠(yuǎn)程端已關(guān)閉,等待套接字關(guān)閉还栓。
- LAST_ACK 遠(yuǎn)程端已關(guān)閉碌廓,套接字已關(guān)閉。等待確認(rèn)剩盒。
- LISTEN 套接字正在偵聽傳入連接谷婆。此類套接字不會(huì)包含在輸出中,除非您指定--listening ( -l ) 或 --all ( -a ) 選項(xiàng)辽聊。
- CLOSING 兩個(gè)套接字都已關(guān)閉纪挎,但我們?nèi)匀粵]有發(fā)送所有數(shù)據(jù)。
- UNKNOWN 套接字的狀態(tài)未知跟匆。
- 指示TCP連接的狀態(tài)榕酒,
- PID/Program name
- 擁有套接字的進(jìn)程的進(jìn)程 ID (PID) 和進(jìn)程名稱的斜線分隔對(duì)异袄。--program導(dǎo)致包含此列。您還需要超級(jí)用戶權(quán)限才能在不屬于您的套接字上查看此信息玛臂。此標(biāo)識(shí)信息尚不可用于 IPX 套接字隙轻。
2. 案例
1. 查看端口端口
- netstat -anp 查看所有端口
root@DESKTOP-2L5PHTK:/etc# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 103/sshd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 343/docker-proxy
tcp 0 0 127.0.0.1:3306 127.0.0.1:33320 ESTABLISHED 343/docker-proxy
tcp 0 0 172.17.0.1:49888 172.17.0.2:3306 ESTABLISHED 343/docker-proxy
tcp 0 0 127.0.0.1:33320 127.0.0.1:3306 ESTABLISHED -
tcp6 0 0 :::22 :::* LISTEN 103/sshd
tcp6 0 0 :::2375 :::* LISTEN 153/dockerd
tcp6 0 0 :::3306 :::* LISTEN 351/docker-proxy
tcp6 0 0 172.20.116.187:2375 172.20.112.1:61782 ESTABLISHED 153/dockerd
tcp6 0 0 172.20.116.187:2375 172.20.112.1:61768 ESTABLISHED 153/dockerd
- 找出程序運(yùn)行的端口
- netstat -ap | grep ssh
root@DESKTOP-2L5PHTK:/etc# netstat -ap | grep ssh
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 103/sshd
tcp6 0 0 [::]:ssh [::]:* LISTEN 103/sshd
2. tcp/ip
1.查看tcp所有端口
- netstat -antp
root@DESKTOP-2L5PHTK:/etc# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 103/sshd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 343/docker-proxy
tcp 0 0 127.0.0.1:3306 127.0.0.1:33320 ESTABLISHED 343/docker-proxy
tcp 0 0 172.17.0.1:49888 172.17.0.2:3306 ESTABLISHED 343/docker-proxy
tcp 0 0 127.0.0.1:33320 127.0.0.1:3306 ESTABLISHED -
tcp6 0 0 :::22 :::* LISTEN 103/sshd
tcp6 0 0 :::2375 :::* LISTEN 153/dockerd
tcp6 0 0 :::3306 :::* LISTEN 351/docker-proxy
tcp6 0 0 172.20.116.187:2375 172.20.112.1:61782 ESTABLISHED 153/dockerd
tcp6 0 0 172.20.116.187:2375 172.20.112.1:61768 ESTABLISHED 153/dockerd
- TCP各種狀態(tài)列表并統(tǒng)計(jì)排序
- netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
root@DESKTOP-2L5PHTK:/etc# netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
5 LISTEN
5 ESTABLISHED
1 established)
1 Foreign
- TCP 長連接
- netstat —f inet
- 這個(gè)— 是中文的-
root@DESKTOP-2L5PHTK:/etc# netstat –f inet
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:mysql localhost:33320 ESTABLISHED
tcp 0 0 172.17.0.1:49888 172.17.0.2:mysql ESTABLISHED
tcp 0 0 localhost:33320 localhost:mysql ESTABLISHED
tcp6 0 0 172.20.116.187:2375 DESKTOP-2L5PHTK:61782 ESTABLISHED
tcp6 0 0 172.20.116.187:2375 DESKTOP-2L5PHTK:61768 ESTABLISHED