1. 程式人生 > >Linux重要命令整理(df、du、top、free、pstree、pstack、su、adduser/useradd、passwd)

Linux重要命令整理(df、du、top、free、pstree、pstack、su、adduser/useradd、passwd)

df命令

df [選項] [引數] df命令用於顯示磁碟分割槽上的可使用的磁碟空間。預設顯示單位為KB。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊。

  • -a或–all:包含全部的檔案系統;
  • –block-size=<區塊大小>:以指定的區塊大小來顯示區塊數目;
  • -h或–human-readable:以可讀性較高的方式來顯示資訊;
  • -H或–si:與-h引數相同,但在計算時是以1000 Bytes為換算單位而非1024 Bytes;
  • -i或–inodes:顯示inode的資訊;
  • -k或–kilobytes:指定區塊大小為1024位元組;
  • -l或–local:僅顯示本地端的檔案系統;
  • -m或–megabytes:指定區塊大小為1048576位元組;
  • –no-sync:在取得磁碟使用資訊前,不要執行sync指令,此為預設值;
  • -P或–portability:使用POSIX的輸出格式;
  • –sync:在取得磁碟使用資訊前,先執行sync指令;
  • -t<檔案系統型別>或–type=<檔案系統型別>:僅顯示指定檔案系統型別的磁碟資訊;
  • -T或–print-type:顯示檔案系統的型別;
  • -x<檔案系統型別>或–exclude-type=<檔案系統型別>:不要顯示指定檔案系統型別的磁碟資訊;
  • –help:顯示幫助;
  • –version:顯示版本資訊。

du命令

du [選項] [檔案] du命令也是檢視使用空間的,但是與df命令不同的是Linux du命令是對檔案和目錄磁碟使用的空間的檢視,還是和df命令有一些區別的。

  • -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 重複計算硬體連結的檔案。

top命令

top [選項] top命令可以實時動態地檢視系統的整體執行情況,是一個綜合了多方資訊監測系統性能和執行資訊的實用工具。通過top命令所提供的互動式介面,用熱鍵可以管理。

- -b:以批處理模式操作;
- -c:顯示完整的治命令;
- -d:螢幕重新整理間隔時間;
- -I:忽略失效過程;
- -s:保密模式;
- -S:累積模式;
- -i<時間>:設定間隔時間;
- -u<使用者名稱>:指定使用者名稱;
- -p<程序號>:指定程序;
- -n<次數>:迴圈顯示的次數。

top互動命令

h:顯示幫助畫面,給出一些簡短的命令總結說明;
k:終止一個程序;
i:忽略閒置和僵死程序,這是一個開關式命令;
q:退出程式;
r:重新安排一個程序的優先級別;
S:切換到累計模式;
s:改變兩次重新整理之間的延遲時間(單位為s),如果有小數,就換算成ms。輸入0值則系統將不斷重新整理,預設值是5s;
f或者F:從當前顯示中新增或者刪除專案;
o或者O:改變顯示專案的順序;
l:切換顯示平均負載和啟動時間資訊;
m:切換顯示記憶體資訊;
t:切換顯示程序和CPU狀態資訊;
c:切換顯示命令名稱和完整命令列;
M:根據駐留記憶體大小進行排序;
P:根據CPU使用百分比大小進行排序;
T:根據時間/累計時間進行排序;
w:將當前設定寫入~/.toprc檔案中。

free命令

free [選項] free命令可以顯示當前系統未使用的和已使用的記憶體數目,還可以顯示被核心使用的記憶體緩衝區

-b:以Byte為單位顯示記憶體使用情況;
-k:以KB為單位顯示記憶體使用情況;
-m:以MB為單位顯示記憶體使用情況;
-o:不顯示緩衝區調節列;
-s<間隔秒數>:持續觀察記憶體使用狀況;
-t:顯示記憶體總和列;
-V:顯示版本資訊。

第一部分Mem行解釋

total:記憶體總數;
used:已經使用的記憶體數;
free:空閒的記憶體數;
shared:當前已經廢棄不用;
buffers Buffer:快取記憶體數;
cached Page:快取記憶體數。

total = used + free

第二部分(-/+ buffers/cache)解釋

(-buffers/cache) used記憶體數:第一部分Mem行中的 used – buffers – cached
(+buffers/cache) free記憶體數: 第一部分Mem行中的 free + buffers + cached

可見-buffers/cache反映的是被程式實實在在吃掉的記憶體,而+buffers/cache反映的是可以挪用的記憶體總數。

第三部分是指交換分割槽

pstree命令

pstree [選項] ([使用者名稱]) pstree命令以樹狀圖的方式展現程序之間的派生關係,顯示效果比較直觀

-a:顯示每個程式的完整指令,包含路徑,引數或是常駐服務的標示;
-c:不使用精簡標示法;
-G:使用VT100終端機的列繪圖字元;
-h:列出樹狀圖時,特別標明現在執行的程式;
-H<程式識別碼>:此引數的效果和指定"-h"引數類似,但特別標明指定的程式;
-l:採用長列格式顯示樹狀圖;
-n:用程式識別碼排序。預設是以程式名稱來排序;
-p:顯示程式識別碼;
-u:顯示使用者名稱稱;
-U:使用UTF-8列繪圖字元;
-V:顯示版本資訊。

pstack命令

pstack pid pstack命令可顯示每個程序的棧跟蹤。pstack 命令必須由相應程序的屬主或 root 執行。可以使用 pstack 來確定程序掛起的位置。此命令允許使用的唯一選項是要檢查的程序的 PID。

su命令

su [選項] [引數]

-c<指令>或--command=<指令>:執行完指定的指令後,即恢復原來的身份;
-f或——fast:適用於csh與tsch,使shell不用去讀取啟動檔案;
-l或——login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變數;
-m,-p或--preserve-environment:變更身份時,不要變更環境變數;
-s<shell>或--shell=<shell>:指定要執行的shell;
--help:顯示幫助;
--version;顯示版本資訊。

su - 使用者名稱

變更帳號為此使用者並改變工作目錄至此使用者的家目錄

su -s 使用者名稱

指定要執行的shell

adduser(useradd)命令

adduser [選項] [引數] useradd命令用於Linux中建立的新的系統使用者。useradd可用來建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。

在Slackware中,adduser指令是個script程式,利用交談的方式取得輸入的使用者帳號資料,然後再交由真正建立帳號的useradd命令建立新使用者,如此可方便管理員建立使用者帳號。在Red Hat Linux中,adduser命令則是useradd命令的符號連線,兩者實際上是同一個指令

-c<備註>:加上備註文字。備註文字會儲存在passwd的備註欄位中;
-d<登入目錄>:指定使用者登入時的啟始目錄;
-D:變更預設值;
-e<有效期限>:指定帳號的有效期限;
-f<緩衝天數>:指定在密碼過期後多少天即關閉該帳號;
-g<群組>:指定使用者所屬的群組;
-G<群組>:指定使用者所屬的附加群組;
-m:自動建立使用者的登入目錄;
-M:不要自動建立使用者的登入目錄;
-n:取消建立以使用者名稱稱為名的群組;
-r:建立系統帳號;
-s<shell>:指定使用者登入後所使用的shell;
-u<uid>:指定使用者id。

例: 新建使用者加入組: useradd –g sales jack –G company,employees //-g:加入主要組、-G:加入次要組

建立一個新使用者賬戶,並設定ID: useradd caojh -u 544

注意:需要說明的是,設定ID值時儘量要大於500,以免衝突。因為Linux安裝後會建立一些特殊使用者,一般0到499之間的值留給bin、mail這樣的系統賬號

passwd命令

passwd [選項] [引數]

passwd命令用於設定使用者的認證資訊,包括使用者密碼、密碼過期時間等。系統管理者則能用它管理系統使用者的密碼。只有管理者可以指定使用者名稱稱,一般使用者只能變更自己的密碼。

-d:刪除密碼,僅有系統管理者才能使用;
-f:強制執行;
-k:設定只有在密碼過期失效後,方能更新;
-l:鎖住密碼;
-s:列出密碼的相關資訊,僅有系統管理者才能使用;
-u:解開已上鎖的帳號。

存放使用者資訊的檔案: /etc/passwd /etc/shadow 存放使用者組資訊的檔案: /etc/group /etc/gshadow

  • 普通使用者如果想更改自己的密碼,直接執行passwd即可
  • 想讓某個使用者不能修改密碼,可以用-l選項來鎖定

注意:如果是普通使用者執行passwd只能修改自己的密碼。如果新建使用者後,要為新使用者建立密碼,則用passwd使用者名稱,注意要以root使用者的許可權來建立