Shell操作與簡易程式設計(三)

2021-03-31 08:56:29 字數 1699 閱讀 9310

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中除使用普通字元外,還可以使用一些具有特殊含義和功能的特殊字元。在使用它們時應注意其特殊的含義和作用範圍。下面分別對這些特殊字元加以介紹。

Shell操作與簡易程式設計(三)

shell基礎 命令列中輸入的第乙個字必須是乙個命令的名字,第二個字是命令的選項或引數,命令列中的每個字必須由空格或tab隔開,格式如下 命令 選項 引數 選項是包括乙個或多個字母的 它前面有乙個減號 減號是必要的,linux用它來區別選項和引數 選項可用於改變命令執行的動作的型別。例如 root ...

Shell操作與簡易程式設計(二)

幾種流行的shell 目前流行的shell有ash,bash,ksh,csh,zsh等,你可以用下面的命令來檢視你自己的shell型別 echo shell shell是乙個環境變數,它記錄使用者所使用的shell型別。你可以用命令 shell name 來轉換到別的shell,這裡shell na...

Shell操作與簡易程式設計(一)

shell是linux系統下的命令直譯器,也是使用linux系統的主要環境,shell的功能很多,主要從shell的基本概念 shell的種類 shell中的特殊字元 重定向以及shell程式幾個方面來講解,重點內容是shell的特殊字元和shell程式設計。什麼是shell 使用者登入進入linu...