Linux命令

Linux 系統命令及其使用詳解(大全)

(來源中國系統分析員)


名稱:cat 
  使用權限:所有使用者 
  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 
  說明:把檔案串連接後傳到基本輸出(螢幕或加 > fileName 到另一個檔案) 
  參數: 
  -n 或 --number 由 開始對所有輸出的行數編號 
  -b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號 
  -s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行 
  -v 或 --show-nonprinting 
  範例: 
  cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏 
  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 

名稱:cd 
  使用權限:所有使用者 
  使用方式:cd [dirName]
  說明:變換工作目錄至 dirName。 其中 dirName 表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄).另外,"~" 也表示爲 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。 
  範例:跳到 /usr/bin/:
  cd /usr/bin 

  跳到自己的 home directory:
  cd ~ 

  跳到目前目錄的上上兩層:
  cd ../.. 

指令名稱:chmod 
  使用權限:所有使用者 
  使用方式:chmod [-cfvR] [--help] [--version] mode file... 
  說明:Linux/Unix 的檔案存取權限分爲三級:檔案擁有者,羣組,其他。利用 chmod 可以藉以控制檔案如何被他人所存取。
  把計:
  mode:權限設定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個羣體(group),o 表示其他以外的人,a 表示這三者皆是。 
  表示增加權限,- 表示取消權限,= 表示唯一設定權限。 
  表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。 
  -c:若該檔案權限確實已經更改,才顯示其更改動作 
  -f:若該檔案權限無法被更改也不要顯示錯誤訊息 
  -v:顯示權限變更的詳細資料 
  -R:對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞迴的方式逐個變更
  --help:顯示輔助說明 
  --version:顯示版本
  範例 :將檔案 file1.txt 設爲所有人皆可讀取:
  chmod ugo+r file1.txt 

  將檔案 file1.txt 設爲所有人皆可讀取:
  chmod a+r file1.txt 

  將檔案 file1.txt 與 file2.txt 設爲該檔案擁有者,與其所屬同一個羣體者可寫入,但其他以外的人則不可寫入:
  chmod ug+w,o-w file1.txt file2.txt 

  將 ex1.py 設定爲只有該檔案擁有者可以執行:
  chmod u+x ex1.py 

  將目前目錄下的所有檔案與子目錄皆設爲任何人可讀取:
  chmod -R a+r * 

  此外chmod也可以用數字來表示權限如 chmod 777 file 
  語法爲:chmod abc file 
  其中a,b,c各爲一個數字,分別表示User,Group,Other的權限。

  r=4,w=2,x=1 
  若要rwx屬性則4+2+1=7; 
  若要rw-屬性則4+2=6; 
  若要r-x屬性則4+1=7。 

  範例: 
  chmod a=rwx file 
  和 
  chmod 777 file 
  效果相同 
  chmod ug=rwx,o=x file 
  和 
  chmod 771 file 
  效果相同 
  若用chmod 4755 filename可使此程式具有root的權限 

指令名稱:chown 
  使用權限:root 
  使用方式:chmod [-cfhvR] [--help] [--version] user[:group] file... 

  說明:Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統管理者(root)所使用,一般使用者沒有權限可以改變別人的檔案擁有者,也沒有權限可以自己的檔案擁有者改設爲別人。只有系統管理者(root)纔有這樣的權限。 
  把計:
  user:新的檔案擁有者的使用者 IDgroup:新的檔案擁有者的使用者羣體(group)-c:若該檔案擁有者確實已經更改,才顯示其更改動作-f:若該檔案擁有者無法被更改也不要顯示錯誤訊息-h:只對於連結(link)進行變更,而非該 link 真正指向的檔案-v:顯示擁有者變更的詳細資料-R:對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞迴的方式逐個變更)--help:顯示輔助說明--version:顯示版本 
  範例:
  將檔案 file1.txt 的擁有者設爲 users 羣體的使用者 jessie:
  chown jessie:users file1.txt 

  將目前目錄下的所有檔案與子目錄的擁有者皆設爲 users 羣體的使用者 lamport:
  chmod -R lamport:users * 

名稱:cp 
  使用權限:所有使用者 
  使用方式: 
  cp [options] source dest 
  cp [options] source... directory 
  說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
  把計
  -a 儘可能將檔案狀態,權限等資料都照原狀予以複製。 
  -r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。 
  -f 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。 
  範例: 
  將檔案 aaa 複製(已存在),並命名爲 bbb:
  cp aaa bbb 

  將所有的C語言程式拷貝至 Finished 子目錄中:
  cp *.c Finished 

名稱:cut 
  使用權限:所有使用者 
  用法:cut -cnum1-num2 filename 
  說明:顯示每行從開頭算起 num1 到 num2 的文字。 
  範例: 
  shell>> cat example 
  test2 
  this is test1 
  shell>> cut -c0-6 example ## print 開頭算起前 個字元 
  test2 
  this i 

用法:find 
  使用說明:
  將檔案系統內符合 expression 的檔案列出來。你可以指要檔案的名稱,類別,時間,大小,權限等不同資訊的組合,只有完全相符的纔會被列出來。 
  find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份爲 path,之後的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 爲預設 expression 
  expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。 
  -mount, -xdev:只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案 
  -amin n:在過去 分鐘內被讀取過 
  -anewer file:比檔案 file 更晚被讀取過的檔案 
  -atime n:在過去 天過讀取過的檔案 
  -cmin n:在過去 分鐘內被修改過 
  -cnewer file :比檔案 file 更新的檔案 
  -ctime n:在過去 天過修改過的檔案 
  -empty:空的檔案-gid n or -group name:gid 是 或是 group 名稱是 name 
  -ipath p, -path p:路徑名稱符合 的檔案,ipath 會忽略大小寫 
  -name name, -iname name:檔案名稱符合 name 的檔案。iname 會忽略大小寫 
  -size n:檔案大小 是 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c:檔案類型是 的檔案。 
  d: 目錄 
  c: 字型裝置檔案 
  b: 區塊裝置檔案 
  p: 具名貯列 
  f: 一般檔案 
  l: 符號連結 
  s: socket 
  -pid n:process id 是 的檔案 

  你可以使用 ( ) 將運算式分隔,並使用下列運算。 
  exp1 -and exp2 
  ! expr 
  -not expr 
  exp1 -or exp2 
  exp1, exp2 
  範例
  將目前目錄及其子目錄下所有延伸檔名是 的檔案列出來。 
  # find . -name "*.c" 
  將目前目錄其其下子目錄中所有一般檔案列出 
  # find . -ftype f 
  將目前目錄及其子目錄下所有最近 20 分鐘內更新過的檔案列出 
  # find . -ctime -20 

名稱:less 
  使用權限:所有使用者 
  使用方式: 
  less [Option] filename 
  說明: 
  less 的作用與 more 十分相似,都可以用來瀏覽文字檔案的內容,不同的是 less 允許使用者往回捲動 
  以瀏覽已經看過的部份,同時因爲 less 並未在一開始就讀入整個檔案,因此在遇上大型檔案的開啓時,會比一般的文書編輯器(如 vi)來的快速。
  範例: 


指令名稱:ln 
  使用權限:所有使用者 
  使用方式:ln [options] source dist,其中 option 的格式爲:
  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] 
  [--help] [--version] [--] 

  說明:Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視爲檔案的別名,而連結又可分爲兩種:硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。 

  ln source dist 是產生一個連結(dist)到 source,至於使用硬連結或軟鏈結則由參數決定。 

  不論是硬連結或軟鏈結都不會將原本的檔案複製一份,只會佔用非常少量的磁碟空間。

  -f:鏈結時先將與 dist 同檔名的檔案刪除-d:允許系統管理者硬鏈結自己的目錄-i:在刪除與 dist 同檔名的檔案時先進行詢問-n:在進行軟連結時,將 dist 視爲一般的檔案-s:進行軟鏈結(symbolic link)-v:在連結之前顯示其檔名-b:將在鏈結時會被覆寫或刪除的檔案進行備份-S SUFFIX:將備份的檔案都加上 SUFFIX 的字尾-V METHOD:指定備份的方式--help:顯示輔助說明--version:顯示版本 
  範例:
  將檔案 yy 產生一個 symbolic link:zz 
  ln -s yy zz 
  將檔案 yy 產生一個 hard link:zz 
  ln yy xx 

名稱:ls 
  使用權限:所有使用者 
  使用方式:ls [-alrtAFR] [name...] 
  說明:顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)
  -a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出
  -l 除檔案名稱外,亦將檔案型態,權限,擁有者,檔案大小等資訊詳細列出 
  -r 將檔案以相反次序顯示(原定依英文字母次序
  -t 將檔案依建立時間之先後次序列出 
  -A 同 -a ,但不列出 "." (目前目錄及 ".." (父目錄
  -F 在列出的檔案名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/" 
  -R 若目錄下有檔案,則以下之檔案亦皆依序列出 
  範例: 
  列出目前工作目錄下所有名稱是 開頭的檔案,愈新的排愈後面:
  ls -ltr s* 
  將 /bin 目錄以下所有目錄及檔案詳細資料列出:
  ls -lR /bin 
  列出目前工作目錄下所有檔案及目錄;目錄於名稱後加 "/", 可執行檔於名稱後加 "*":
  ls -AF 


名稱:mv 
  使用權限:所有使用者 
  使用方式: 
  mv [options] source dest 
  mv [options] source... directory 
  說明:將一個檔案移至另一檔案,或將數個檔案移至另一目錄。 
  參數:-i 若目的地已有同名檔案,則先詢問是否覆蓋舊檔。 
  範例: 
  將檔案 aaa 更名爲 bbb:
  mv aaa bbb 
  將所有的C語言程式移至 Finished 子目錄中:
  mv -i *.c 

名稱:rm 
  使用權限:所有使用者 
  使用方式:rm [options] name... 
  說明:刪除檔案及目錄。 
  把計
  -i 刪除前逐一詢問確認。 
  -f 即使原檔案屬性設爲唯讀,亦直接刪除,無需逐一確認。 
  -r 將目錄及以下之檔案亦逐一刪除。 
  範例: 
  刪除所有C語言程式檔;刪除前逐一詢問確認:
  rm -i *.c 
  將 Finished 子目錄及子目錄中所有檔案刪除:
  rm -r Finished 

名稱:rmdir 
  使用權限:於目前目錄有適當權限的所有使用者 
  使用方式: rmdir [-p] dirName 
  說明: 刪除空的目錄。 
  參數: -p 是當子目錄被刪除後使它也成爲空目錄的話,則順便一併刪除。 
  範例: 
  將工作目錄下,名爲 AAA 的子目錄刪除:
  rmdir AAA 

  在工作目錄下的 BBB 目錄中,刪除名爲 Test 的子目錄。若 Test 刪除後,BBB 目錄成爲空目錄,則 BBB 亦予刪除。 
  rmdir -p BBB/Test 


名稱:touch 
  使用權限:所有使用者 
  使用方式: 
  touch [-acfm] 
  [-r reference-file] [--file=reference-file] 
  [-t MMDDhhmm[[CC]YY][.ss]] 
  [-d time] [--date=time] [--time={atime,access,use,mtime,modify}] 
  [--no-create] [--help] [--version] 
  file1 [file2 ...] 

  說明: 
  touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。
  參數: 
  改變檔案的讀取時間記錄。 
  改變檔案的修改時間記錄。 
  假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。 
  不使用,是爲了與其他 unix 系統的相容性而保留。 
  使用參考檔的時間記錄,與 --file 的效果一樣。 
  設定時間與日期,可以使用各種不同的格式。 
  設定檔案的時間記錄,格式與 date 指令相同。 
  --no-create 不會建立新檔案。 
  --help 列出指令格式。 
  --version 列出版本訊息。 


名稱:cal 
  使用權限:所有使用者 
  使用方式:cal [-mjy] [month [year]] 
  

名稱:sleep 
  使用權限:所有使用者 
  使用方式:sleep [--help] [--version] number[smhd] 
  說明:sleep 可以用來將目前動作延遲一段時間 
  參數說明:
  --help:顯示輔助訊息 
  --version:顯示版本編號 
  number:時間長度,後面可接 s,m,h 或 
  其中 爲秒,m 爲 分鐘,h 爲小時,d 爲日數 
  例子:
  顯示目前時間後延遲 分鐘,之後再次顯示時間:
  date;sleep 1m;date 


名稱:chfn 
  使用權限:所有使用者 
  用法:shell>> chfn 
  說明:提供使用者更改個人資訊,用於 finger and mail username 
  範例: 
  shell>> chfn 
  Changing finger information for user 
  Password: [del] 
  Name[]:Johnney Huang ### 提供 finger 時的資料 
  Office[]:NCCU 
  Office Phone[]: [del] 
  Home Phone[]: [del] 



名稱:login 
  這個命令都不會就不要幹算了!呵呵我也不在這裏多費筆墨耽誤大家美好青春了^_^ 

  名稱:passwd 
  使用權限:所有使用者 
  使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username] 
  說明:用來更改使用者的密碼 
  參數: 
  -k 
  -l 
  -u 
  -f 
  -d 關閉使用者的密碼認證功能使用者在登入時將可以不用輸入密碼只有具備 root 權限的使用者方可使用
  -S 顯示指定使用者的密碼認證種類只有具備 root 權限的使用者方可使用
  [username] 指定帳號名稱

名稱:who 
  使用權線:所有使用者都可使用 
  使用方式:who - [husfV] [user] 
  說明:顯示系統中有那些使用者正在上面,顯示的資料包含了使用者 ID,使用的終端機,從那邊連上來的,上線時間,呆滯時間,CPU 使用量,動作等等。 
  把計:
  -h:不要顯示標題列 
  -u:不要顯示使用者的動作/工作 
  -s:使用簡短的格式來顯示 
  -f:不要顯示使用者的上線位置 
  -V:顯示程式版本 

指令:mesg 
  使用權限:所有使用者 
  使用方式:mesg [y|n] 
  說明 : 決定是否允許其他人傳訊息到自己的終端機介面 
  把計 
  y:允許訊息傳到終端機介面上。 
  n:不允許訊息傳到終端機介面上 。 
  如果沒有設定,則訊息傳遞與否則由終端機界面目前狀態而定。 
  例子:
  改變目前訊息設定,改成不允許訊息傳到終端機介面上:
  mesg n 

  與 mesg 相關的指令有: talk,write,wall。 


名稱:talk 
  使用權限:所有使用者 
  使用方式:
  talk person [ttyname] 
  說明:與其他使用者對談 
  把計:
  person:預備對談的使用者帳號,如果該使用者在其他機器上,則可輸入 [email protected] 
  ttyname:如果使用者同時有兩個以上的 tty 連線,可以自行選擇合適的 tty 傳訊息 
  例子.1:
  與現在機器上的使用者Rollaend對談,此時 Rollaend 只有一個連線:
  talk Rollaend 
  接下來就是等Rollaend迴應,Rollaend接受,Rollaend輸入 `talk jzlee`即可開始對談,結束請按 ctrl+c 
  例子.2 :linuxfab.cx上的使用者Rollaend對談,使用pts/2來對談:
  talk [email protected] pts/2

  接下來就是等Rollaend迴應,Rollaend接受,Rollaend輸入 `talk [email protected]`即可開始對談,結束請按 ctrl+c 
  注意:若螢幕的字會出現不正常的字元,試着按 ctrl+l 更新螢幕畫面。

名稱:wall 
  使用權限:所有使用者 
  使用方式:
  wall [ message ] 
  使用說明: 
  wall 會將訊息傳給每一個 mesg 設定爲 yes 的上線使用者。當使用終端機介面做爲標準傳入時訊息結束時需加上 EOF (通常用 Ctrl+D) 
  例子:
  傳訊息"hi" 給每一個使用者:
  wall hi 

名稱:kill 
  使用權限:所有使用者 
  使用方式: 
  kill [ -s signal | -p ] [ -a ] pid ... 
  kill -l [ signal ] 
  說明:kill 送出一個特定的信號 (signal) 給行程 id 爲 pid 的行程根據該信號而做特定的動作若沒有指定預設是送出終止 (TERM) 的信號 
  把計
  -s (signal):其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表着重跑砍掉結束詳細的信號可以用 kill -l 
  -p:印出 pid , 並不送出信號 
  -l (signal):列出所有可用的信號名稱 
  範例: 
  將 pid 爲 323 的行程砍掉 (kill):
  kill -9 323 
  將 pid 爲 456 的行程重跑 (restart):
  kill -HUP 456 



名稱:expr 
  使用權限:所有使用者 
  ### 字串長度 
  shell>> expr length "this is a test" 
  14 

  ### 數字商數 
  shell>> expr 14 % 9 
  

  ### 從位置處抓取字串 
  shell>> expr substr "this is a test" 3 5 
  is is 

  ### 數字串 only the first character 

  shell>> expr index "testforthegame" e 
  

  ### 字串真實重現 
  shell>> expr quote thisisatestformela 
  thisisatestformela 


指令:clear 
  用途:清除螢幕用。 
  使用方法:在 console 上輸入 clear。 


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