FreeBSD   Shells

.逸晨


Shell => 中譯為『殼』
在電腦中用『殼』這個字來解釋它實在是滿不通順的。
它是使用者與系統溝通的一個界面,您可以稱它做為『命令處理器』。比如您想要查看硬碟中的某個目錄中有哪些檔案,在 DOS 下,您會使用 dir 這個指令來查看;在 Unix-Like 作業系統中,如 FreeBSD ,我們使用 ls 這個指令來查看。那麼電腦是要如何得知 ls 或 dir 是要作啥的呢?是由 shell 來告知電腦的。 可是為什麼我要去學那些指令呢??
問的好!因為您要使用電腦來為您做事,所以您就得要去學習該學的指令 ^_^

在 Unix-Like 作業系統中,您可以有許多 shell 供您挑選使用。在 FreeBSD 中,系統預先為您準備了 sh、csh、tcsh 三套 shell,root 預設是使用 csh,而一般使用者則是 sh。當然,您可以隨時改變想要使用的 shell,如果您有特別的愛好或需求的話。基本上,如果您對 Unix-Like 感到陌生的話,您可以使用系統預設值即可。

在眾多 shell 中 (最原始的 sh 例外),它們有一個共通性功能,那就是檔案名稱的自動補齊。
您只要打前幾個您要的檔案或指令的字元,再按下 TAB 鍵,shell 會自動為您補上未打完的字元。這在您忘了指令或檔案的完整名稱,或是不想打那麼多字的時候特別好用。
但有些時候,您可能在輸入指令或檔案的前幾個字元後按下 TAB 鍵,系統並無反應或是可能跳出幾個檔案或指令名稱的畫面出來,這是因為有超過一個以上的檔案或指令名稱,它們的前幾個字元是相同的,這時您需要再輸入下一個字元來讓 shell 知道它該選擇哪個檔案或指令名稱。
例如在系統中有 true、truss、truncate 三個同是 tru 為開頭的指令,當您輸入 tru 再按 TAB 鍵時,shell 並不會為您補齊後面的指令名稱,因為它不知該選哪一個,但如果您再輸入個 n 後再按 TAB 鍵,shell 便會自動補上 cate 這四個字母,而完成 truncate 這個指令的完整名稱。

shell 的另一個功能便是環境變數的設定。
環境變數對於會寫程式的人而言應該是不陌生的,底下若解釋的不好的話,請勿見笑。
『環境』,是針對 shell 以及在 shell 中所執行的程式而言。像系統的種類與版本、記憶體的多寡、目前登入的使用者名稱、設定的編輯器、路徑.....等等,這些對於 shell 來說都算是『環境』。
『變數』,簡單的來說,就是一個可變、會變的參考數值 (參數)。
可變,指的是那些可以由使用者針對自已的需求而去變更相關的設定。因為它可以隨時來設定改變它,所以稱為可變。例如指令的路徑或預設的編輯器等等
會變,指的是那些使用者無法去變更的數值,但這些數值可能會隨著使用者的操作而自動變化數值,所以稱為會變。例如系統升級後版本的變化,或使用者變更身份等等。

希望經由以上的淺介,能夠使您對於 shell 有一個基本的認識。但是真要完整的介紹 shell 並非短短幾頁文字就能窺其全貌的,如果您真的想要深入了解(您應該要),建議您為自已準備有關 shell 的工具書吧,它能為您更加深入的介紹 shell 的功能與使用(shell script 的撰寫)。至於 shell 有哪些可用的指令與參數,您應該要隨時請教您最忠誠的好夥伴 -- man。

接下來我們將針對 sh 與 csh 的起始設定檔做一簡略介紹,如果您已感到頭昏昏的,記得先去洗把臉喲 ^_^


上一篇返回首頁目錄索引章節目錄回上一頁Page UP下一篇

最佳瀏灠環境︰Mozilla & 1024x768