linux基礎篇05-測試常見linux命令集合五

本篇主要接着上一篇文章繼續就“測試常見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.jpgwget -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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章