重要命令du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password

一、du命令

du命令也是查看使用空間的,但與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間進行查看,還是和df命令有一些區別的。

1)語法:du 【選項】【文件】

2)功能:顯示每個文件和目錄的磁盤使用空間。

3)命令參數:

-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命令

用來檢查文件系統磁盤的佔用情況,使用的權限是所有用戶。

1)語法:df【選項】【文件】

2)功能:查看磁盤剩餘空間

3)命令參數:

-a--all,顯示所有的文件系統,包括虛擬文件系統。 
-B--block-size,指定單位大小。比如1k,1m等。 
-h--human-readable,以人們易讀的GB、MB、KB等格式顯示。 
-H--si,和-h參數一樣,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。 
-i--inodes,不用硬盤容量,而是以inode的數量來顯示。 
-k:以KB的容量顯示各文件系統,相當於--block-size=1k。 
-m:以KB的容量顯示各文件系統,相當於--block-size=1m。 
-l--local,只顯示本地文件系統。 
--no-sync:在統計使用信息之前不調用sync命令(默認)。 
-sync:在統計使用信息之前調用sync命令。 
-P--portability,使用POSIX格式顯示。 
-t--type=TYPE,只顯示指定類型的文件系統。 
-T--print-type,顯示文件系統類型。 
-x--exclude-type=TYPE,不顯示指定類型的文件系統。 
--help:顯示幫助信息。 
--version:顯示版本信息。

三、top命令

p命令經常用來監控linux的系統狀況,比如cpu、內存的使用,程序員基本都知道這個命令,但比較奇怪的是能用好它的人卻很少,例如top監控視圖中內存數值的含義就有不少的曲解。

1)語法:top

2)功能:命令用來顯示執行中的程序進程,使用權限是所有用戶 。

3)命令參數:一般在執行top命令的時候,會有以下詳細的信息


  • PID(Process ID):進程標示號。
  • USER:進程所有者的用戶名。
  • PR:進程的優先級別。
  • NI:進程的優先級別數值。
  • VIRT:進程佔用的虛擬內存值。
  • RES:進程佔用的物理內存值。
  • SHR:進程使用的共享內存值。
  • S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。
  • %CPU:該進程佔用的CPU使用率。
  • %MEM:該進程佔用的物理內存和總內存的百分比。
  • TIME+:該進程啓動後佔用的總的CPU時間。
  • Command:進程啓動的啓動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。
  • top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啓動的

    • <空格>:立刻刷新。
    • P:根據CPU使用大小進行排序。
    • M:根據使用內存大小進行排序。
    • T:根據時間、累計時間排序。
    • q:退出top命令。
    • m:切換顯示內存信息。
    • t:切換顯示進程和CPU狀態信息。
    • c:切換顯示命令名稱和完整命令行。
    • W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。

    可以看到,top命令是一個功能十分強大的監控系統的工具,對於系統管理員而言尤其重要。但是,它的缺點是會消耗很多系統資源。

  • 使用top命令可以監視指定用戶,缺省情況是監視所有用戶的進程。如果想查看指定用戶的情況,在終端中按“U”鍵,然後輸入用戶名,系統就會切換爲指定用戶的進程運行界面

四、free命令

free命令可以顯示當前系統未使用的和已使用的內存數目,還可以顯示被內核使用的內存緩衝區。

1)語法:free【選項】

2)功能:用來顯示內存的使用情況,使用用戶是所有用戶。

3)命令參數:

  • -b -k -m:分別以字節(KB、MB)爲單位顯示內存使用情況。
  • -s delay:顯示每隔多少秒數來顯示一次內存使用情況。
  • l-t:顯示內存總和列。
  • -o:不顯示緩衝區調節列。

五、pstack

pstack 是 Linux(比如 Red Hat Linux 系統、Ubuntu Linux 系統等)下一個很有用的工具,它的功能是打印輸出此進程的堆棧信息。可以輸出所有線程的調用關係棧。

pstack命令可顯示每個進程的棧跟蹤。pstack命令必須由相應進程的屬主或 root 運行。可以使用 pstack來確定進程掛起的位置。

1)語法:

2)功能:顯示每個進程的棧跟蹤。

3)命令參數:此命令允許使用的唯一選項是要檢查的進程的 PID

六、su

1)語法:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

2)功能:su的作用是變更爲其它使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。

3)命令參數:

-f , –fast:不必讀啓動文件(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。

-l , –login:加了這個參數之後,就好像是重新登陸一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)爲主,並

且工作目錄也會改變。如果沒有指定USER,缺省情況是root。

-m, -p ,–preserve-environment:執行su時不改變環境變數。

-c command:變更賬號爲USER的使用者,並執行指令(command)後再變回原來使用者。

–help 顯示說明文件

–version 顯示版本資訊

USER:欲變更的使用者賬號,

ARG:  傳入新的Shell參數。

七、sudo(sudo -, sudo -s)

1)語法:sudo【選項】【參數】

2)功能:sudo命令用來以其他身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。

3)命令參數:

-b:在後臺執行指令;
-h:顯示幫助;
-H:將HOME環境變量設爲新身份的HOME環境變量;
-k:結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼;。
-l:列出目前用戶可執行與無法執行的指令;
-p:改變詢問密碼的提示符號;
-s<shell>:執行指定的shell;
-u<用戶>:以指定的用戶作爲新的身份。若不加上此參數,則預設以root作爲新的身份;
-v:延長密碼有效期限5分鐘;
-V :顯示版本信息。

配置sudo必須通過編輯/etc/sudoers文件,而且只有超級用戶纔可以修改它,還必須使用visudo編輯。之所以使用visudo有兩個原因,一是它能夠防止兩個用戶同時修改它;二是它也能進行有限的語法檢查。所以,即使只有你一個超級用戶,你也最好用visudo來檢查一下語法。

八、adduser 

useradd可用來建立用戶賬號,它和adduser命令是相同的。賬號建好之後,再用passwd設定賬號的密碼。使用useradd命令所建立的賬號,實際上是保存在/etc/passwd文本文件中。 

1)語法:useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 

2)功能:作用 (linuxso注:useradd和adduser相同,但是addgroup是不存在的命令,所以建議使用useradd,當然你的習慣纔是最重要的.) 

3)命令參數:
新帳號建立當不加-D參數,useradd指令使用命令列來指定新帳號的設定值and使用系統上的預設值.新使用者帳號將產生一些系統檔案,使用者目錄建立,拷備起始檔案等,這些均可以利用命令列選項指定。此版本爲RedHatLinux提供,可幫每個新加入的使用者建立個別的group,毋須添加-n選項。useradd可使用的選項爲-ccomment新帳號password檔的說明欄。-dhome_dir新帳號每次登入時所使用的home_dir。預設值爲default_home內login名稱,並當成登入時目錄名稱。 
-e expire_date 帳號終止日期。日期的指定格式爲MM/DD/YY。 
-f inactive_days 帳號過期幾日後永久停權。當值爲0時帳號則立刻被停權。而當值爲-1時則關閉此功能,預設值爲-1 
-g initial_group group名稱或以數字來做爲使用者登入起始羣組(group)。羣組名須爲現有存在的名稱。羣組數字也須爲現有存在的羣組。預設的羣組數字爲1。 
-G group,[...] 定義此使用者爲此一堆groups的成員。每個羣組使用","區格開來,不可以夾雜空白字元。羣組名同-g選項的限制。定義值爲使用者的起始羣組。 
-m 使用者目錄如不存在則自動建立。如使用-k選項skeleton_dir內的檔案將複製至使用者目錄下。然而在/etc/skel目錄下的檔案也會複製過去取代。任何在skeleton_diror/etc/skel的目錄也相同會在使用者目錄下一一建立。The-k同-m不建立目錄以及不復制任何檔案爲預設值。 
-M 不建立使用者目錄,即使/etc/login.defs系統檔設定要建立使用者目錄。 
-n 預設值使用者羣組與使用者名稱會相同。此選項將取消此預設值。 
-r 此參數是用來建立系統帳號。系統帳號的UID會比定義在系統檔上/etc/login.defs.的UID_MIN來的小。注意useradd此用法所建立的帳號不會建立使用者目錄,也不會在乎紀錄在/etc/login.defs.的定義值。如果你想要有使用者目錄須額外指定-m參數來建立系統帳號。這是REDHAT額外增設的選項。 
-s shell 使用者登入後使用的shell名稱。預設爲不填寫,這樣系統會幫你指定預設的登入shell。 
-u uid 使用者的ID值。必須爲唯一的ID值,除非用-o選項。數字不可爲負值。預設爲最小不得小於999而逐次增加。0~999傳統上是保留給系統帳號使用。改變預設值當-D選項出現時,useradd秀出現在的預設值,或是藉由命令列的方式更新預設值。可用選項爲∶ 
-b default_home 定義使用者所屬目錄的前一個目錄。使用者名稱會附加在default_home後面用來建立新使用者的目錄。當然使用-d後則此選項無效。 
-e default_expire_date 使用者帳號停止日期。 
-f default_inactive 帳號過期幾日後停權。 
-g default_group 新帳號起始羣組名或ID。羣組名須爲現有存在的名稱。羣組ID也須爲現有存在的羣組。 
-s default_shell 使用者登入後使用的shell名稱。往後新加入的帳號都將使用此shell.如不指定任何參數,useradd顯示目前預設的值。註記系統管理者有義務在/etc/skel目錄下放置使用者定義檔。 

九 、password 

passwd 作爲普通用戶和超級權限用戶都可以運行,但作爲普通用戶只能更改自己的用戶密碼,但前提是沒有被root用戶鎖定;如果root用戶運行passwd ,可以設置或修改任何用戶的密碼。
1)語法:passwd 命令後面不接任何參數或用戶名,則表示修改當前用戶的密碼;

2)功能:如果是普通用戶執行passwd 只能修改自己的密碼;
如果新建用戶後,要爲新用戶創建密碼,則用 passwd 用戶名 ,注意要以root用戶的權限來創建;

3)命令參數:

-k, --keep-tokens       keep non-expired authentication tokens注:保留即將過期的用戶在期滿後能仍能使用;

-d, --delete            delete the password for the named account (root only)注:刪除用戶密碼,僅能以root權限操作;

-l, --lock              lock the named account (root only)注:鎖住用戶無權更改其密碼,僅能通過root權限操作;
-u, --unlock            unlock the named account (root only)注:解除鎖定;
-f, --force             force operation注:強制操作;僅root權限才能操作;
-x, --maximum=DAYS      maximum password lifetime (root only) 注:兩次密碼修正的最大天數,後面接數字;僅能root權限操作;
-n, --minimum=DAYS      minimum password lifetime (root only) 注:兩次密碼修改的最小天數,後面接數字,僅能root權限操作;
-w, --warning=DAYS      number of days warning users receives before 注:在距多少天提醒用戶修改密碼;僅能root權限操作;
password expiration (root only)
-i, --inactive=DAYS     number of days after password expiration when an 注:在密碼過期後多少天,用戶被禁掉,僅能以root操作;
account becomes disabled (root only)
-S, --status            report password status on the named account (root   注:查詢用戶的密碼狀態,僅能root用戶操作;
only)
--stdin                 read new tokens from stdin (root only)



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