歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> 常用UNIX指令集

常用UNIX指令集

日期:2017/3/3 15:26:05   编辑:Unix基礎知識

1. ls

這是最基本的檔案指令。 ls的意義為"list",也就是將某一個目錄或是

某一個檔案的內容顯示出來。如果你在下ls指令後頭沒有跟著任何的檔名,它將會顯示出目前目錄中所有檔案。也可以在 ls 後面加上所要察看的目錄名稱或檔案的名稱,如

% ls /etc

ls 有一些特別的參數,可以給予使用者更多有關的資訊,如下:

-a : 在 UNIX 中若一個目錄或檔案名字的第一個字元為 "." , 則使用 ls

將不會顯示出這個檔案的名字,我們稱此類檔案為隱藏檔。如 tcsh的初設檔 .tcshrc;如果我們要察看這類檔案,則必須加上參數 -a 。

-l : 這個參數代表使用 ls 的長( long )格式,可以顯示更多的資訊,如檔案存取權,檔案擁有者( owner ),檔案大小,檔案最後更新日期,甚而 symbolic link 的檔案是 link 那一個檔等等。如下

% ls -l

2. cp

cp這個指令的意義是復制("COPY") , 也就是將一個或多個檔案復制成另一個檔案或者是將其復制到另一個目錄去。

-i : 此參數是當已有檔名為f2 的檔案時,若迳自使用cp將會將原來f2的內容掩蓋過去,因此在要蓋過之前必須先詢問使用者一下。如使用者的回答是y(yes)才執行復制的動作。

-r : 此參數是用來做遞回復制用,可將一整顆子樹都復制到另一個目錄中。

3. mv

mv 的意義為move , 主要是將一檔案改名或換至另一個目錄。如同cp ,它也有

三種格式:

mv 的參數有兩個,-f 和 -i , 其中 -i 的意義與 cp 中的相同,均是interactive 詢問之意。而-f 為強迫( force ) , 就是不管有沒有同名的檔案,反正我就是要搬過去,所有其他的參數遇到 -f 均會失效。

4. rm

rm 的意義是remove ,也就是用來殺掉一個檔案的指令。在UNIX中一個被殺掉的檔案除非是系統恰好有做備份,否則是無法像DOS 裡面一樣還能夠救回來的。所以在做rm 動作的時候使用者應該要特別小心。

-f : 將會使得系統在刪除時,不提出任何警告訊息。

-i : 在除去檔案之前均會詢問是否真要除去。

-r : 遞回式的刪除。

5. mkdir

mkdir 是一個讓使用者建立一個目錄的指令。你可以在一個目錄底下使用

midir 建立一個子目錄,使用的方法就不用多說了吧!

6. chdir ( cd )

這是讓使用者用來轉移工作目錄用的。

chdir dirname

如此你就可以將目前的目錄轉移到 dirname 這一個目錄去。或使用 "chdir .." 來轉移到上一層目錄。

7.rmdir

相對於mkdir ,rmdir是用來將一個"空的"目錄殺掉的。如果一個目錄下面沒有任何檔案,你就可以用rmdir指令將其除去。rmdir的使用法如下:

rmdir dirname1 [ dirname2 .... ]

如果一個目錄底下有其他的檔案,rmdir將無法將這個目錄殺掉,除非使用rm指令的 -r 選項。

8. pwd

pwd會將目前目錄的路徑( path )顯示出來,例如:

9. cat/more/less

以上三個指令均為察看檔案內容的指令。cat的意義是貓....不不不,是concatenate ,在字典上的意思是"連結,將…串成鎖狀"( 語出資工電子詞典 cdict ),其實就是把檔案的內容顯示出來的意思。cat 有許多奇怪的參數,較常為人所使用的是 -n 參數,也就是把顯示出來的內容加上行號。 cat 的用法如下:

cat [-n] :自標准輸入讀進內容,你可以用 pipe 將別的程式的輸出轉向給 cat .

cat [-n] filename : 將filename的內容讀進來,顯示在標准輸出上。問題在於cat它是不會停下來的,因此並不好用( 試想如果一個螢幕二十四行,而一個檔案四百行,cat一出來將會劈哩啪啦不斷的卷上去,使用者很難據此得到他們所需的資訊。) 所以才有人又寫了more出來。

more ,可以將所觀察的檔案跟據終端機的形態一頁頁的顯示出來,再根據使用者的要求換頁或卷行。如果使用者要在某一個檔案中搜尋一個特定的字串,則按 / 然後跟著打所要搜尋的單字即可進行搜尋。more也可以找得到。more的使用法如下:

more filename

如果你在使用中覺得已經看到了所要看的部份,可以按'q'離開more的使用。在使用中按'v' 亦可以使用編輯器來編輯所觀看的檔案。less的用法與more 極類似,原先它就是為了彌補more只能往前方卷頁的缺點而設計。 less的用法如下:

less filename

其與more不同的是它可以按y來往上卷一行,並且可以用"?"來往回搜尋你所要找的單字。

10. chmod

chmod為變更檔案模式用( change mode ) . 這個指令是用來更改檔案的存取模式(access mode)。在UNIX一個檔案上有可讀(r)可寫(w)可執行(x)三種模式,分別針對該檔案的擁有者(onwer)、同群者(group member)(你可以ls -lg來觀看某一檔案的所屬的group),以及其他人(other)。一個檔案如果改成可執行模式則系統就將其視為一個可執行檔,而一個目錄的可執行模式代表使用者有進入該目錄之權利。chmod 就是用來變更一些檔案的模式,其使用方式如下:

chmod [ -fR ] mode filename ...

其參數的意義如下:

-f Force. chmod 不會理會失敗的動作。

-R Recurive. 會將所有子樹下的所有子目錄及檔案改為你所要改成的模式。

mode可以為一個三位或四位的八進位數字,來表示對某些對象的存取權。詳情可參閱chmod(1)的manual page中有關Absolute Modes的說明。或是用一個字串來表示,請參考chmod(1)的說明。

b. 關於Process處理的指令:

1.ps

ps是用來顯示目前你的process或系統processes的狀況。

以下列出比較常用的參數:

其選項說明如下:

-a 列出包括其他users 的process狀況。

-u 顯示user - oriented 的process狀況 。

-x 顯示包括沒有terminal控制的process狀況 。

-w 使用較寬的顯示模式來顯示process狀況 。

我們可以經由ps取得目前 processes 的狀況,如pid , running state等。

2. kill

kill指令的用途是送一個 signal 給某一個 process 。因為大部份送的都是用來殺掉process的SIGKILL或SIGHUP ,因此稱為kill 。kill的用法為:

kill [ -SIGNAL ] pid ...

kill -l

SIGNAL為一個singal的數字,從0到31 ,其中9是SIGKILL ,也就是一般用來殺掉一些無法正常terminate的訊號。其馀訊號的用途可參考 sigvec(2) 中對signal的說明。

你也可以用kill -l來察看可代替signal號碼的數目字。kill的詳細情形 請參閱man kill。

c. 關於字串處理的指令:

1.echo

echo是用來顯示一字串在終端機上。□ echo -n 則是當顯示完之後不會有跳行的動作。

2.grep/fgrep

grep為一過濾器,它可自一個或多個檔案中過濾出具有某個字串的行,或是自標准輸入過濾出具有某個字串的行。

fgrep可將欲過濾的一群字串放在某一個檔案中,然後使用 fgrep 將包含有屬於這一群字串的行過濾出來。

grep與fgrep的用法如下:

grep [-nv] match_pattern file1 file2 ....

fgrep [-nv] -f pattern_file file1 file2 ....

-n 把所找到的行在行前加上行號列出

-v 把不包含 match_pattern 的行列出

match_pattern 所要搜尋的字串

-f 以 pattern_file 存放所要搜尋的字串

d. 網路上查詢狀況的指令:

1.man

man是手冊(manual)的意思。 UNIX提供線上輔助(on-line help)的功能,man就是用來讓使用者在使用時查詢指令、系統呼叫、標准程式庫函式、各種表格等的使用所用的。man的用法如下:

man [-M path] [section] title ] .....

man [-M path] -k keyword ...

-M path man 所需要的 manual database 的路徑。  

我們也可以用設定環境變數 MANPATH 的方式來取代 -M 選項。

title 這是所要查詢的目的物。

section 為一個數字表示 manual 的分類,通常1代表可執行指令,

2 代表系統呼叫( system call ) ,3 代表標准函數,等等。

我們如要參考 eqnchar(7) 的資料,則我們就輸入 man 7 eqnchar ,

便能取得我們所要的輔助訊息。

-k keyword

用來將含有這項keyword的title列出來。

man在UNIX 是一項非常重要的指令,我們在本講義中所述之用法均僅只是一個大家比較常用的用法以及簡單的說明,真正詳細的用法與說明還是要請你使用man來得到。本文來自http://bianceng.cn(學電腦)

2.who

who 指令是用來查詢目前有那些人在線上。

3.w

w 指令是用來查詢目前有那些人在線上,同時顯示出那些人目前的工作。

4.ku

ku 可以用來搜尋整個網路上的user ,不像w 跟who只是針對local host 的查詢. 而且ku 提供讓使用者建立搜尋特定使用者名單的功能。你可以建立一個檔案information-file以條列的方式存放你的朋友的資料,再建立一個檔案hosts-file 來指定搜尋的機器名稱。ku 的指令格式可由ku -h 得到。

Copyright © Linux教程網 All Rights Reserved