Shell基礎
命令列中輸入的第一個字必須是一個命令的名字,第二個字是命令的選項或參數,命令列中的每個字必須由空格或Tab隔開,格式如下:
$ 命令 選項 參數
選項是包括一個或多個字母的代碼,它前面有一個減號(減號是必要的,Linux用它來區別選項和參數),選項可用於改變命令執行的動作的類型。
例如:[root@start root]# ls
這是沒有選項的ls命令,可列出目前的目錄中的所有文檔,但只列出各個文檔的名字,而不顯示其他更多的資訊。
[root@start root]# ls -l
total 16
-rw-r--r-- 1 root root 1282 10月10日 2002 anaconda-ks.cfg
drwx------ 4 root root 4096 3月17日15:53 Desktop
drwxr-xr-x 3 root root 4096 10月10日 2002 GNUstep
drwxr-xr-x 3 root root 4096 3月17日16:29 pic
加入-l選項,將會對每個文檔列出詳細資料,諸如資料大小和資料最後被修改的時間等。
大多數命令都被設計為可以接納參數。參數是在命令列中的選項之後鍵入的一個或多個單詞,例如
[root@start root]# ls -l pic
total 760
-rw-r--r-- 1 root root 74402 3月17日10:09 1.jpg
-rw-r--r-- 1 root root 64094 3月17日10:33 2.jpg
-rw-r--r-- 1 root root 55293 3月17日10:43 3.jpg passwd
將顯示pic目錄下的所有文檔及其資訊。
有些命令,如ls可以帶參數,而有一些命令可能需要一些最小數目的參數。例如,cp命令至少需要兩個參數,如果參數的數目與命令要求不符,Shell將會報錯。例如:
[root@start root]# cp anaconda-ks.cfg /tmp/
注意:命令中選項應該先於參數輸入。
命令列實際上是可以編輯的一個文本緩衝區,在按斷行符號之前,可以對輸入的文本進行編輯。比如利用【BackSpace】鍵可以刪除剛鍵入的字元,可以進行整行刪除,還可以插入字元,使得使用者在輸入命令(尤其是複雜命令)時,若出現鍵入錯誤,無需重新輸入整個命令,只要利用編輯操作,即可改正錯誤。
利用上箭頭可以重新顯示剛執行的命令,利用這一功能可以重複執行以前執行過的命令,而無需重新鍵入該命令。
bash儲存著以前鍵入過的命令的列表,該列表被稱為命令曆史表。按動上箭頭,便可以在命令列上逐次顯示各條命令。同樣,按動下箭頭可以在命令列表中向下移動,這樣可以將以前的各條命令顯示在命令列上,使用者可以修改並執行這些命令。
在一個命令列中還可以置入多個命令,用分號將各個命令隔開,這些命令將按順序執行。例如:
[root@start root]# date;ls
日3月17 16:56:35 CST 2002
anaconda-ks.cfg Desktop GNUstep pic
也可以在幾個命令列中輸入一個命令,用反斜線將一個命令列持續到下一行。如:
$ cp -i /
mydata /
newdata
上面的cp命令分3行輸入的,開始的兩行以反斜線結束,把第3行作為一個命令列。
Shell中除使用一般字元外,還可以使用一些具有特殊含義和功能的特殊字元。在使用它們時應注意其特殊的含義和作用範圍。下面分別對這些特殊字元加以介紹。