學習linux命令,看這篇2w多字的linux命令詳解

-H或--speed-large-files 比較大文件時,可加快速度。

-l或--ignore-matching-lines 若兩個文件在某幾行有所不同,而這幾行同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差異。

-i或--ignore-case 不檢查大小寫的不同。

-l或--paginate 將結果交由pr程序來分頁。

-n或--rcs 將比較結果以RCS的格式來顯示。

-N或--new-file 在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:Only in目錄:文件A若使用-N參數,則diff會將文件A與一個空白的文件比較。

-p 若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱。

-P或--unidirectional-new-file 與-N類似,但只有當第二個目錄包含了一個第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較。

-q或--brief 僅顯示有無差異,不顯示詳細的信息。

-r或--recursive 比較子目錄中的文件。

-s或--report-identical-files 若沒有發現任何差異,仍然顯示信息。

-S或--starting-file 在比較目錄時,從指定的文件開始比較。

-t或--expand-tabs 在輸出時,將tab字符展開。

-T或--initial-tab 在每行前面加上tab字符以便對齊。

-u,-U或--unified= 以合併的方式來顯示文件內容的不同。

-v或--version 顯示版本信息。

-w或--ignore-all-space 忽略全部的空格字符。

-W或--width 在使用-y參數時,指定欄寬。

-x或--exclude 不比較選項中所指定的文件或目錄。

-X或--exclude-from 您可以將文件或目錄類型存成文本文件,然後在=中指定此文本文件。

-y或--side-by-side 以並列的方式顯示文件的異同之處。

tar&gzip

tar介紹

用來壓縮和解壓文件。tar本身不具有壓縮功能。他是調用壓縮功能實現的

tar命令參數

-A 新增壓縮文件到已存在的壓縮

-B 設置區塊大小

-c 建立新的壓縮文件

-d 記錄文件的差別

-r 添加文件到已經壓縮的文件

-u 添加改變了和現有的文件到已經存在的壓縮文件

-x 從壓縮的文件中提取文件

-t 顯示壓縮文件的內容

-z 支持gzip解壓文件

-j 支持bzip2解壓文件

-Z 支持compress解壓文件

-v 顯示操作過程

-l 文件系統邊界設置

-k 保留原有文件不覆蓋

-m 保留文件不被覆蓋

-W 確認壓縮文件的正確性

-b 設置區塊數目

-C 切換到指定目錄

-f 指定壓縮文件

du

du介紹

du實用程序顯示每個文件自變量以及以每個目錄自變量為根的文件層次結構中每個目錄的文件系統塊使用情況。如果未指定文件,則顯示以當前目錄為根的層次結構的塊使用情況。

du命令參數

-a或-all 顯示目錄中個別文件的大小。

-b或-bytes 顯示目錄或文件大小時,以byte為單位。

-c或--total 除了顯示個別目錄或文件的大小外,同時也顯示所有目錄或文件的總和。

-k或--kilobytes 以KB(1024bytes)為單位輸出。

-m或--megabytes 以MB為單位輸出。

-s或--summarize 僅顯示總計,只列出最後加總的值。

-h或--human-readable 以K,M,G為單位,提高信息的可讀性。

-x或--one-file-xystem 以一開始處理時的文件系統為準,若遇上其它不同的文件系統目錄則略過。

-L或--dereference 顯示選項中所指定符號鏈接的源文件大小。

-S或--separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。

-X或--exclude-from= 在指定目錄或文件。

--exclude= 略過指定的目錄或文件。

-D或--dereference-args 顯示指定符號鏈接的源文件大小。

-H或--si 與-h參數相同,但是K,M,G是以1000為換算單位。

-l或--count-links 重複計算硬件鏈接的文件。

df

df介紹

df實用程序顯示有關指定文件系統或其中一部分文件的文件系統上的可用磁盤空間量的統計信息。 值以每塊計數512字節的形式顯示。 如果未指定文件或文件系統操作數,則將顯示所有已掛載文件系統的統計信息(受下面的-t選項約束)。

df命令參數

-a 全部文件系統列表

-h 方便閱讀方式顯示

-H 等於“-h”,但是計算式,1K=1000,而不是1K=1024

-i 顯示inode信息

-k 區塊為1024字節

-l 只顯示本地文件系統

-m 區塊為1048576字節

--no-sync 忽略 sync 命令

-P 輸出格式為POSIX

--sync 在取得磁盤信息前,先執行sync命令

-T 文件系統類型

--block-size= 指定區塊大小

-t 只顯示選定文件系統的磁盤信息

-x 不顯示選定文件系統的磁盤信息

lsof

lsof介紹

lsof(list open files)是一個列出當前系統打開文件的工具。(在linux環境下,任何事物都以文件的形式存在)

lsof可以打開的文件包括:

1.普通文件

2.目錄

3.網絡文件系統的文件

4.字符或設備文件

5.(函數)共享庫

6.管道,命名管道

7.符號鏈接

8.網絡文件(例如:NFS file、網絡socket,unix域名socket)

9.還有其它類型的文件,等等

這個命令在我日常工作中使用場景很多,使用範圍很廣。

lsof命令參數

-a 列出打開文件存在的進程

-c 列出指定進程所打開的文件

-g 列出GID號進程詳情

-d 列出佔用該文件號的進程

+d 列出目錄下被打開的文件

+D 遞歸列出目錄下被打開的文件

-n 列出使用NFS的文件

-i 列出符合條件的進程。(4、6、協議、:端口、 @ip )

-p 列出指定進程號所打開的文件

-u 列出UID號進程詳情

lsof輸出各列信息的意義如下:

COMMAND:進程的名稱

PID:進程標識符

PPID:父進程標識符(需要指定-R參數)

USER:進程所有者

PGID:進程所屬組

FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等

ping

ping介紹

將ICMP ECHO_REQUEST數據包發送到網絡主機

ping命令參數

-d 使用Socket的SO_DEBUG功能。

-f 極限檢測。大量且快速地送網絡封包給一臺機器,看它的回應。

-n 只輸出數值。

-q 不顯示任何傳送封包的信息,只顯示最後的結果。

-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。通常是查看本機的網絡接口是否有問題。

-R 記錄路由過程。

-v 詳細顯示指令的執行過程。

-c 數目:在發送指定數目的包後停止。

-i 秒數:設定間隔幾秒送一個網絡封包給一臺機器,預設值是一秒送一次。

-I 網絡界面:使用指定的網絡界面送出數據包。

-l 前置載入:設置在送出要求信息之前,先行發出的數據包。

-p 範本樣式:設置填滿數據包的範本樣式。

-s 字節數:指定發送的數據字節數,預設值是56,加上8字節的ICMP頭,一共是64ICMP數據字節。

-t 存活數值:設置存活數值TTL的大小。

ping,在日常工作中都是簡單的用來測試本機與其他機器之間的網絡通信,當然如果瞭解這些參數的話,會有更多的用法。

ping命令參數

#檢測網絡情況$pinghost#ping網關$ping-bhost#ping指定次數$ping-c10host#ping指定時間間隔和次數限制$ping-c10-i0.5host#通過域名ping公網上的站點 

netstat

netstat介紹

netstat命令以符號形式顯示各種與網絡相關的數據結構的內容。有多種輸出格式,具體取決於顯示信息的選項。該命令的第一種形式顯示每個協議的活動套接字列表。第二種形式根據選擇的選項顯示其他網絡數據結構之一的內容。使用第三種形式,並指定等待間隔,netstat將在配置的網絡接口上連續顯示有關數據包流量的信息。第四種形式顯示指定協議或地址族的統計信息。如果指定了等待間隔,將顯示最近間隔秒的協議信息。第五種形式顯示指定協議或地址族的每個接口的統計信息。第六種形式顯示mbuf(9)統計信息。第七種形式顯示指定地址系列的路由表。第八種形式顯示路由統計信息。

netstat命令參數

-a或–all 顯示所有連線中的Socket。

-A或– 列出該網絡類型連線中的相關地址。

-c或–continuous 持續列出網絡狀態。

-C或–cache 顯示路由器配置的快取信息。

-e或–extend 顯示網絡其他相關信息。

-F或–fib 顯示FIB。

-g或–groups 顯示多重廣播功能群組組員名單。

-h或–help 在線幫助。

-i或–interfaces 顯示網絡界面信息表單。

-l或–listening 顯示監控中的服務器的Socket。

-M或–masquerade 顯示偽裝的網絡連線。

-n或–numeric 直接使用IP地址,而不通過域名服務器。

-N或–netlink或–symbolic 顯示網絡硬件外圍設備的符號連接名稱。

-o或–timers 顯示計時器。

-p或–programs 顯示正在使用Socket的程序識別碼和程序名稱。

-r或–route 顯示Routing Table。

-s或–statistice 顯示網絡工作信息統計表。

-t或–tcp 顯示TCP傳輸協議的連線狀況。

-u或–udp 顯示UDP傳輸協議的連線狀況。

-v或–verbose 顯示指令執行過程。

-V或–version 顯示版本信息。

-w或–raw 顯示RAW傳輸協議的連線狀況。

-x或–unix 此參數的效果和指定”-A unix”參數相同。

–ip或–inet 此參數的效果和指定”-A inet”參數相同。

ifconfig

ifconfig介紹

Ifconfig用於配置內核駐留的網絡接口。 它在引導時用於根據需要設置接口。 之後,通常僅在調試或需要系統調整時才需要它。

ifconfig命令參數

up 啟動指定網絡設備/網卡。

down 關閉指定網絡設備/網卡。該參數可以有效地阻止通過指定接口的IP信息流,如果想永久地關閉一個接口,我們還需要從核心路由表中將該接口的路由信息全部刪除。

arp 設置指定網卡是否支持ARP協議。

-promisc 設置是否支持網卡的promiscuous模式,如果選擇此參數,網卡將接收網絡中發給它所有的數據包

-allmulti 設置是否支持多播模式,如果選擇此參數,網卡將接收網絡中所有的多播數據包

-a 顯示全部接口信息

-s 顯示摘要信息(類似於 netstat -i)

add 給指定網卡配置IPv6地址

del 刪除指定網卡的IPv6地址

配置網卡最大的傳輸單元

mtu 設置網卡的最大傳輸單元 (bytes)

netmask 設置網卡的子網掩碼。掩碼可以是有前綴0x的32位十六進制數,也可以是用點分開的4個十進制數。如果不打算將網絡分成子網,可以不管這一選項;如果要使用子網,那麼請記住,網絡中每一個系統必須有相同子網掩碼。

tunel 建立隧道

dstaddr 設定一個遠端地址,建立點對點通信

-broadcast 為指定網卡設置廣播協議

-pointtopoint 為網卡設置點對點通訊協議

multicast 為網卡設置組播標誌

address 為網卡設置IPv4地址

txqueuelen 為網卡設置傳輸列隊的長度

解釋
  • eth0 表示第一塊網卡, 其中 HWaddr 表示網卡的物理地址
  • inet addr 用來表示網卡的IP地址
  • lo 是表示主機的回壞地址,這個一般是用來測試一個網絡程序,但又不想讓局域網或外網的用戶能夠查看,只能在此臺主機上運行和查看所用的網絡接口。

第一行:連接類型:Ethernet(以太網)HWaddr(硬件mac地址)

第二行:網卡的IP地址、子網、掩碼

第三行:UP(代表網卡開啟狀態)RUNNING(代表網卡的網線被接上)MULTICAST(支持組播)MTU:1500(最大傳輸單元):1500字節

第四、五行:接收、發送數據包情況統計

第七行:接收、發送數據字節數統計信息。

hostname

hostname介紹

主機名用於顯示系統的DNS名稱,並顯示或設置其主機名或NIS域名。

hostname命令參數

-v:詳細信息模式;-a:顯示主機別名;-d:顯示DNS域名;-f:顯示FQDN名稱;-i:顯示主機的ip地址;-s:顯示短主機名稱,在第一個點處截斷;-y:顯示NIS域名。

traceroute

traceroute介紹

traceroute跟蹤從IP網絡獲取到給定主機的路由信息包。 它利用IP協議的生存時間(TTL)字段並嘗試從每個網關到主機的路徑引發ICMP TIME_EXCEEDED響應。

traceroute命令參數

-d 使用Socket層級的排錯功能。

-f 設置第一個檢測數據包的存活數值TTL的大小。

-F 設置勿離斷位。

-g 設置來源路由網關,最多可設置8個。

-i 使用指定的網絡界面送出數據包。

-I 使用ICMP回應取代UDP資料信息。

-m 設置檢測數據包的最大存活數值TTL的大小。

-n 直接使用IP地址而非主機名稱。

-p 設置UDP傳輸協議的通信端口。

-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。

-s 設置本地主機送出數據包的IP地址。

-t 設置檢測數據包的TOS數值。

-v 詳細顯示指令的執行過程。

-w 設置等待遠端主機回報的時間。

-x 開啟或關閉數據包的正確性檢驗。

解釋

記錄按序列號從1開始,每行紀錄就是一跳 ,每跳錶示一個網關,我們看到每行有三個時間,單位是 ms,其實就是-q的默認參數。探測數據包向每個網關發送三個數據包後,網關響應後返回的時間;如果您用 traceroute -q 10 www.baidu.com,表示向每個網關發送10個數據包。

有時我們traceroute 一臺主機時,會看到有一些行是以星號表示的。出現這樣的情況,可能是防火牆封掉了ICMP的返回信息,所以我們得不到什麼相關的數據包返回數據。

route

route介紹

Route操縱內核的IP路由表。 它的主要用途是在使用ifconfig(8)程序對其進行配置後,通過接口設置到特定主機或網絡的靜態路由。


route命令參數

-c 顯示更多信息

-n 不解析名字

-v 顯示詳細的處理信息

-F 顯示發送信息

-C 顯示路由緩存

-f 清除所有網關入口的路由表。

-p 與 add 命令一起使用時使路由具有永久性。

add:添加一條新路由。

del:刪除一條路由。

-net:目標地址是一個網絡。

-host:目標地址是一個主機。

wget

wget介紹

GNU Wget是一個免費實用程序,用於從Web非交互式下載文件。 它支持HTTP,HTTPS和FTP協議,以及通過HTTP代理進行檢索。

wget命令參數

啟動:-V,--version顯示Wget的版本信息並退出。-h,--help打印此幫助。-b,--background啟動後轉入後臺。-e,--execute=COMMAND運行一個“.wgetrc”風格的命令。日誌和輸入文件:-o,--output-file=FILE將日誌信息寫入FILE。-a,--append-output=FILE將信息添加至FILE。-d,--debug打印大量調試信息。-q,--quiet安靜模式(無信息輸出)。-v,--verbose詳盡的輸出(此為默認值)。-nv,--no-verbose關閉詳盡輸出,但不進入安靜模式。-i,--input-file=FILE下載本地或外部FILE中的URLs。-F,--force-html把輸入文件當成HTML文件。-B,--base=URL解析與URL相關的HTML輸入文件(由-i-F選項指定)。--config=FILESpecifyconfigfiletouse.下載:-t,--tries=NUMBER設置重試次數為NUMBER(0代表無限制)。--retry-connrefused即使拒絕連接也是重試。-O,--output-document=FILE將文檔寫入FILE。-nc,--no-clobberskipdownloadsthatwoulddownloadtoexistingfiles(overwritingthem).-c,--continue斷點續傳下載文件。--progress=TYPE選擇進度條類型。-N,--timestamping只獲取比本地文件新的文件。--no-use-server-timestamps不用服務器上的時間戳來設置本地文件。-S,--server-response打印服務器響應。--spider不下載任何文件。-T,--timeout=SECONDS將所有超時設為SECONDS秒。--dns-timeout=SECS設置DNS查尋超時為SECS秒。--connect-timeout=SECS設置連接超時為SECS秒。--read-timeout=SECS設置讀取超時為SECS秒。-w,--wait=SECONDS等待間隔為SECONDS秒。--waitretry=SECONDS在獲取文件的重試期間等待1..SECONDS秒。--random-wait獲取多個文件時,每次隨機等待間隔0.5*WAIT...1.5*WAIT秒。--no-proxy禁止使用代理。-Q,--quota=NUMBER設置獲取配額為NUMBER字節。--bind-address=ADDRESS綁定至本地主機上的ADDRESS(主機名或是IP)。--limit-rate=RATE限制下載速率為RATE。--no-dns-cache關閉DNS查尋緩存。--restrict-file-names=OS限定文件名中的字符為OS允許的字符。--ignore-case匹配文件/目錄時忽略大小寫。-4,--inet4-only僅連接至IPv4地址。-6,--inet6-only僅連接至IPv6地址。--prefer-family=FAMILY首先連接至指定協議的地址FAMILY為IPv6,IPv4或是none。--user=USER將ftp和http的用戶名均設置為USER。--password=PASS將ftp和http的密碼均設置為PASS。--ask-password提示輸入密碼。--no-iri關閉IRI支持。--local-encoding=ENCIRI(國際化資源標識符)使用ENC作為本地編碼。--remote-encoding=ENC使用ENC作為默認遠程編碼。--unlinkremovefilebeforeclobber.目錄:-nd,--no-directories不創建目錄。-x,--force-directories強制創建目錄。-nH,--no-host-directories不要創建主目錄。--protocol-directories在目錄中使用協議名稱。-P,--directory-prefix=PREFIX以PREFIX/...保存文件--cut-dirs=NUMBER忽略遠程目錄中NUMBER個目錄層。HTTP選項:--http-user=USER設置http用戶名為USER。--http-password=PASS設置http密碼為PASS。--no-cache不在服務器上緩存數據。--default-page=NAME改變默認頁(默認頁通常是“index.html”)。-E,--adjust-extension以合適的擴展名保存HTML/CSS文檔。--ignore-length忽略頭部的‘Content-Length’區域。--header=STRING在頭部插入STRING。--max-redirect每頁所允許的最大重定向。--proxy-user=USER使用USER作為代理用戶名。--proxy-password=PASS使用PASS作為代理密碼。--referer=URL在HTTP請求頭包含‘Referer:URL’。--save-headers將HTTP頭保存至文件。-U,--user-agent=AGENT標識為AGENT而不是Wget/VERSION。--no-http-keep-alive禁用HTTPkeep-alive(永久連接)。--no-cookies不使用cookies。--load-cookies=FILE會話開始前從FILE中載入cookies。--save-cookies=FILE會話結束後保存cookies至FILE。--keep-session-cookies載入並保存會話(非永久)cookies。--post-data=STRING使用POST方式;把STRING作為數據發送。--post-file=FILE使用POST方式;發送FILE內容。--content-disposition當選中本地文件名時允許Content-Disposition頭部(尚在實驗)。--auth-no-challenge發送不含服務器詢問的首次等待的基本HTTP驗證信息。HTTPS(SSL/TLS)選項:--secure-protocol=PR選擇安全協議,可以是auto、SSLv2、SSLv3或是TLSv1中的一個。--no-check-certificate不要驗證服務器的證書。--certificate=FILE客戶端證書文件。--certificate-type=TYPE客戶端證書類型,PEM或DER。--private-key=FILE私鑰文件。--private-key-type=TYPE私鑰文件類型,PEM或DER。--ca-certificate=FILE帶有一組CA認證的文件。--ca-directory=DIR保存CA認證的哈希列表的目錄。--random-file=FILE帶有生成SSLPRNG的隨機數據的文件。--egd-file=FILE用於命名帶有隨機數據的EGD套接字的文件。FTP選項:--ftp-user=USER設置ftp用戶名為USER。--ftp-password=PASS設置ftp密碼為PASS。--no-remove-listing不要刪除‘.listing’文件。--no-glob不在FTP文件名中使用通配符展開。--no-passive-ftp禁用“passive”傳輸模式。--retr-symlinks遞歸目錄時,獲取鏈接的文件(而非目錄)。遞歸下載:-r,--recursive指定遞歸下載。-l,--level=NUMBER最大遞歸深度(inf或0代表無限制,即全部下載)。--delete-after下載完成後刪除本地文件。-k,--convert-links讓下載得到的HTML或CSS中的鏈接指向本地文件。-K,--backup-converted在轉換文件X前先將它備份為X.orig。-m,--mirror-N-r-linf--no-remove-listing的縮寫形式。-p,--page-requisites下載所有用於顯示HTML頁面的圖片之類的元素。--strict-comments用嚴格方式(SGML)處理HTML註釋。遞歸接受/拒絕:-A,--accept=LIST逗號分隔的可接受的擴展名列表。-R,--reject=LIST逗號分隔的要拒絕的擴展名列表。-D,--domains=LIST逗號分隔的可接受的域列表。--exclude-domains=LIST逗號分隔的要拒絕的域列表。--follow-ftp跟蹤HTML文檔中的FTP鏈接。--follow-tags=LIST逗號分隔的跟蹤的HTML標識列表。--ignore-tags=LIST逗號分隔的忽略的HTML標識列表。-H,--span-hosts遞歸時轉向外部主機。-L,--relative只跟蹤有關係的鏈接。-I,--include-directories=LIST允許目錄的列表。--trust-server-namesusethenamespecifiedbytheredirectionurllastcomponent.-X,--exclude-directories=LIST排除目錄的列表。-np,--no-parent不追溯至父目錄。 

參數有點多,沒關係,常用的掌握,其他的用的時候再查

vmstat

vmstat介紹

vmstat報告有關進程,內存,頁面調度,塊IO,陷阱,磁盤和cpu活動的信息。

vmstat命令參數

-a:顯示活躍和非活躍內存

-f:顯示從系統啟動至今的fork數量 。

-m:顯示slabinfo

-n:只在開始時顯示一次各字段名稱。

-s:顯示內存相關統計信息及多種系統活動數量。

delay:刷新時間間隔。如果不指定,只顯示一條結果。

count:刷新次數。如果不指定刷新次數,但指定了刷新時間間隔,這時刷新次數為無窮。

-d:顯示磁盤相關統計信息。

-p:顯示指定磁盤分區統計信息

-S:使用指定單位顯示。參數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(byte)。默認單位為K(1024 bytes)

解釋

Procs(進程):

r: 運行隊列中進程數量

b: 等待IO的進程數量

Memory(內存):

swpd: 使用虛擬內存大小

free: 可用內存大小

buff: 用作緩衝的內存大小

cache: 用作緩存的內存大小

Swap:

si: 每秒從交換區寫到內存的大小

so: 每秒寫入交換區的內存大小

IO:(現在的Linux版本塊的大小為1024bytes)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

系統:

in: 每秒中斷數,包括時鐘中斷。

cs: 每秒上下文切換數。

CPU(以百分比表示):

us: 用戶進程執行時間(user time)

sy: 系統進程執行時間(system time)

id: 空閒時間(包括IO等待時間),中央處理器的空閒時間 。以百分比表示。

wa: 等待IO時間

free

free介紹

free顯示系統中可用和可用的物理內存和交換內存的總量,以及內核使用的緩衝區和高速緩存。

free命令參數

-b 以Byte為單位顯示內存使用情況。

-k 以KB為單位顯示內存使用情況。

-m 以MB為單位顯示內存使用情況。

-g 以GB為單位顯示內存使用情況。

-o 不顯示緩衝區調節列。

-s 持續觀察內存使用狀況。

-t 顯示內存總和列。

解釋

total:總計物理內存的大小。

used:已使用多大。

free:可用有多少。

Shared:多個進程共享的內存總額。

Buffers/cached:磁盤緩存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

top

top介紹

​ top程序提供正在運行的系統的動態實時視圖。 它可以顯示系統摘要信息以及Linux內核當前正在管理的進程或線程的列表。 所顯示的系統摘要信息的類型以及為進程顯示的信息的類型,順序和大小都是用戶可配置的,並且可以使配置在重新啟動後保持不變。


​ 該程序為流程操作提供了一個有限的交互式界面,併為個人配置提供了更為廣泛的界面-涵蓋了其操作的各個方面。 儘管在本文檔中始終引用top,但是您可以隨意為程序命名。 然後,該新名稱(可能是別名)將反映在頂部的顯示屏上,並在讀寫配置文件時使用。

top命令參數

-b 批處理

-c 顯示完整的治命令

-I 忽略失效過程

-s 保密模式

-S 累積模式

-i 設置間隔時間

-u 指定用戶名

-p 指定進程

-n 循環顯示的次數

解釋

第一行,任務隊列信息,同 uptime 命令的執行結果,具體參數說明情況如下:

00:56:07 — 當前系統時間

up 149 days, 14:40 — 系統已經運行了149天14小時40分鐘(在這期間系統沒有重啟過的)

1users — 當前有1個用戶登錄系統

load average: 0.00, 0.02, 0.05 — load average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。

load average數據是每隔5秒鐘檢查一次活躍的進程數,然後按特定算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。

第二行,Tasks — 任務(進程)

系統現在共有254個進程,其中處於運行中的有1個,253個在休眠(sleep),stoped狀態的有0個,zombie狀態(殭屍)的有0個。

第三行,cpu狀態信息

%Cpu(s): 1.4 us, 0.3 sy, 0.0 ni, 98.3 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st

1.4 us — 用戶空間佔用CPU的百分比。

0.3 sy — 內核空間佔用CPU的百分比。

0.0 ni — 改變過優先級的進程佔用CPU的百分比

98.3 id — 空閒CPU百分比

0.1 wa — IO等待佔用CPU的百分比

0.0 hi — 硬中斷(Hardware IRQ)佔用CPU的百分比

0.0 si — 軟中斷(Software Interrupts)佔用CPU的百分比

第四行,內存狀態

65808884 total 物理內存總量

23749772 free 使用中的內存總量

4586160 used 空閒內存總量

37472952 buff/cache 緩存的內存量

第五行,swap交換分區信息

0 total 交換區總量

0 use 使用的交換區總量

0 free 空閒交換區總量

60909608 avail Mem 可用交換區總量

第七行以下:各進程(任務)的狀態監控

PID — 進程id

USER — 進程所有者

PR — 進程優先級

NI — nice值。負值表示高優先級,正值表示低優先級

VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES

RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA

SHR — 共享內存大小,單位kb

S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=殭屍進程

%CPU — 上次更新到現在的CPU時間佔用百分比

%MEM — 進程使用的物理內存百分比

TIME+ — 進程使用的CPU時間總計,單位1/100秒

COMMAND — 進程名稱(命令名/命令行)

sar

sar介紹

sar(System Activity Reporter系統活動情況報告)是目前 Linux 上最為全面的系統性能分析工具之一,可以從多方面對系統的活動進行報告,包括:文件的讀寫情況、 系統調用的使用情況、磁盤I/O、CPU效率、內存使用狀況、進程活動及IPC有關的活動等。

sar命令參數

-A:所有報告的總和

-u:輸出CPU使用情況的統計信息

-v:輸出inode、文件和其他內核表的統計信息

-d:輸出每一個塊設備的活動信息

-r:輸出內存和交換空間的統計信息

-b:顯示I/O和傳送速率的統計信息

-a:文件讀寫情況

-c:輸出進程統計信息,每秒創建的進程數

-R:輸出內存頁面的統計信息

-y:終端設備活動情況

-w:輸出系統交換活動信息

最後,小編想說:我是一名python開發工程師,整理了一套最新的python系統學習教程,想要這些資料的可以關注私信小編“01”即可,希望能對你有所幫助。


分享到:


相關文章: