本篇主要接着上一篇文章繼續就“測試常見linux命令集合五”進行展開講解,主要包括“ifconfig、wget、ps、top、stat”命令。希望感興趣的小夥伴可以堅持看下去同時歡迎提出寶貴的意見讓我們一起進步!
24:命令ifconfig
顯示當前所有網絡狀態 :
ifconfig
25:命令wget
wget [參數] [URL地址] 說明:下載文件工具,支持HTTP,HTTPS和FTP協議 參數: -b 啓動後轉入後臺下載 -O 將文檔寫入FILE(重命名)
1)下載1.png文件:
wget http://xxx.com/1.png
2)下載1.png文件並存儲名爲1.jpg:
wget -o 1.jpg http://xxx.com/1.png
3) 後臺形式下載1.jpg文件:
wget -b http://xxx.com/1.png
4)查看下載進度:
tail -f wget-log
26:命令ps
ps[參數] 說明:列出系統中當前運行進程的狀態 參數: -A 顯示所有進程(-e) -a 顯示同一終端下的所有程序 -u 列出屬於該用戶的進程的狀況 -f 表達程序間的相互關係 -x 在沒有控制終端的情況下列出進程
1)查看所有進程:
ps -A
2)查看java進程:
ps -ef|grep java
3)顯示所有進程信息,連同命令行:
ps -ef
4)顯示root進程用戶信息(根據用戶過濾進程):
ps -u root
5)列出目前所有正在內存當中的程序(通過CPU和內存使用來過濾進程):
ps -aux|less
6)展示消耗CPU最多的10個進程:
ps -aux --sort -pcpu | head -10
7)注意:ps命令能夠通過管道和其他命令一塊使用
如果你不想一次顯示 ps 太多的輸出,請和 less 命令搭配使用
ps命令的輸出也可以使用 grep 命令過濾結果
不加參數執行ps命令,結果默認會顯示4列信息。 PID 運行着的命令(CMD)的進程編號 TTY 命令所運行的位置(終端) TIME 運行着的該命令所佔用的CPU處理時間 CMD 該進程所運行的命令
ps -aux命令結果將顯示11列信息:USER,PID,%CPU,%MEM,VSZ,RSS,STAT,START,TTY,TIME 和CMD USER 運行該過程的用戶%CPU 進程 cpu 利用率%MEM 進程駐留集大小佔計算機物理內存的百分比 VSZ 進程的虛擬內存大小 KiB RSS 進程正在使用的物理內存的大小 STAT 進程狀態代碼,可以是Z( 殭屍),S( 休眠),R( 運行 )等等 START 命令啓動的時間
ps -ef命令結果將顯示7列信息 UID,PID,PPID,C,STIME,TIME 和 CMD UID 與 USER 運行該流程的用戶相同 PPID 父進程的 ID C 與 %CPU 進程 cpu 利用率相同 STIME 與 START 命令啓動時相同
27:命令top
top[參數] 說明:用於實時顯示process的動態 參數: c 切換顯示命令名稱和完整命令行 i 不顯示任何閒置 (idle) 或無用 (zombie) 的行程 d 改變顯示的更新速度 n 更新的次數,完成後將會退出 top
1)顯示進程信息:
top
2)監控每個邏輯CPU的狀況:
top,然後按1
3)高亮顯示當前運行進程:
top,然後按b
4)更新10次後終止更新顯示:
top -n 10
5)更新週期爲20秒一次:
top -d 20
6)顯示完整的命令:
top,然後按c
7)顯示指定的進程信息:
top -p 139
8)顯示特定用戶的進程:
top -u root
9)退出top程序:
按q或Ctrl + c快捷鍵
top前5行是系統整體的統計信息,代表含義如下: top - 18:18:31 up 330 days, 4:51, 1 user, load average: 0.04, 0.01, 0.00Tasks: 145 total, 1 running, 132 sleeping, 12 stopped, 0 zombieCpu(s): 22.1%us, 5.1%sy, 0.0%ni, 71.7%id, 0.0%wa, 0.0%hi, 1.1%si, 0.0%stMem: 8059388k total, 7545416k used, 513972k free, 289164k buffersSwap: 2097148k total, 1035620k used, 1061528k free, 1244384k cached
第一行:第一行是任務隊列信息 HH:mm:ss:當前的系統時間 up xxx days, HH:mm:從本次開機到現在經過的時間 x user:當前有幾個用戶登錄到該機器 load average:系統1分鐘、5分鐘、15分鐘內的平均負載值 第二行:進程進程統計數 total:進程總數。 running: 正在運行的進程數,對應狀態TASK_RUNNING sleeping:睡眠的進程數,對應狀態TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE stopped: 停止的進程數,對應狀態TASK_STOPPED zombie: 殭屍進程數,對應狀態TASK_ZOMBIE 第三行:CPU的統計行,當有多個CPU時,這些內容可能會超過兩行 us:進程在用戶空間(user)消耗的CPU時間佔比,不包含調整過優先級的進程 sy:進程在內核空間(system)消耗的CPU時間佔比 ni:調整過用戶態優先級的(niced)進程的CPU時間佔比 id:空閒的(idle)CPU時間佔比 wa:等待(wait)I/O完成的CPU時間佔比 hi:處理硬中斷(hardware interrupt)的CPU時間佔比 si:處理軟中斷(software interrupt)的CPU時間佔比 st:當Linux系統是在虛擬機中運行時,等待CPU資源的時間(steal time)佔比 第四行和第五行:物理內存和交換空間(Mem/Swap) total:內存總量 free:空閒內存量 used:使用中的內存量 buff/cache:緩存和page cache佔用的內存量
進程信息區詳細信息: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 21012 anxin 20 0 5684m 626m 7900 S 111.7 8.0 28068:10 java 27176 anxin 20 0 9104m 1.5g 7984 S 2.0 18.9 113:49.08 java 27666 anxin 20 0 4473m 251m 5024 S 1.0 3.2 2642:56 java
PID 進程 ID,一個用來定位進程的唯一標識符 USER 進程所有者的用戶名 PR 從系統內核角度看的進程調度優先級 NI 進程的nice值,即從用戶空間角度看的進程優先級。值越低,優先級越高 VIRT 進程申請使用的虛擬內存量,單位是 KiB(kibibytes) RES 進程使用的駐留內存,單位是 KiB(物理內存和虛擬內存的一部分) SHR 進程使用的共享內存量,單位是 KiB(共享內存和虛擬內存的一部分) S 進程狀態,一般 I 代表空閒,R 代表運行,S 代表休眠,Z 代表殭屍進程,T 或 t 代表停止 %CPU 進程在一個更新週期內佔用的CPU時間比例 %MEM 進程佔用的物理內存比例 TIME+ 進程創建後至今佔用的CPU時間長度 COMMAND 運行進程使用的命令
28:命令stat
stat[參數][文件或目錄] 說明:用來查看文件信息 參數: -f 顯示文件系統狀態而非文件狀態 -t 使用簡潔格式輸出
[anxin@VM_0_5_centos isTester]$ stat isTester.ini File: "isTester.ini"Size: 0 Blocks: 0 IO Block: 4096 普通空文件Device: fc01h/64513d Inode: 229522 Links: 1Access: (0766/-rwxrw-rw-) Uid: ( 500/ anxin) Gid: ( 500/ anxin)Access: 2020-03-14 16:31:57.000000000 +0800Modify: 2020-03-14 16:31:57.000000000 +0800Change: 2020-03-14 16:50:54.000000000 +0800
1)查看文件修改的時間:
stat Tester.ini
與文件相關的幾個時間:
1)訪問時間-Access:讀一次這個文件的內容,這個時間就會更新,例如cat,vi等。
2)修改時間-Modify:對文件內容修改一次,這個時間就會更新,例如vi等。
3)狀態改變時間-Change:通過chmod命令更改一次文件屬性,這個時間就會更新,例如vi,chmod等。
4)現在很多linux在mount文件系統時候,都會用relatime,這樣可避免由於頻繁更新atime而導致磁盤IO性能下降的問題;因此很多linux中當你查看文件的時候並不會更新訪問時間,除非強制更新
5)注意:
當讀取文件時,Access time改變,而Modify time和Changetime不會改變
當修改文件時,Access time,Modify time和Change time都會改變
當修改屬性時,Change time改變,而Access time和Modify time不會改變
ls、stat命令不會修改文件的atime
touch會更改文件的atime、ctime、mtime