日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

認(rèn)識linux之 Linux Shells簡介( 四 )


Shell 的另一個重要功用是提供個人化的使用者環(huán)境 , 這通常在 shell 的初始化檔案中完成(.profile、.login、.cshrc、.tcshrc 等等) 。這些檔案包括了設(shè)定終端機鍵盤和定義窗口的特征;設(shè)定變量 , 定義搜尋路徑、權(quán)限限、提示符號和終端機類形;以及設(shè)定特殊應(yīng)用程序所需要的變量 , 例如窗口、文字處理程序、及程序語言的鏈接庫 。Korn shell 和 C shell 加強了個別化的能力:增加歷程、別名、和內(nèi)建變量集以避免使用者誤殺檔案、不慎簽出、并在當(dāng)工作完成時通知使用者 。
Shell 也能當(dāng)解譯性的程序語言(interpreted programing language) 。Shell 程序 , 通常叫做命令文件 , 它由列在檔案內(nèi)的命令所構(gòu)成 。此程序在編輯器中編輯(雖然也可以直接在命令列下寫作程序, online scripting) , 由 UNIX 命令和基本的程序結(jié)構(gòu) , 例如變量的指定、測試條件、和循環(huán)所構(gòu)成 。您不需要編譯 shell 命令 。Shell 本身會解譯命令檔中的每一行 , 就如同由鍵盤輸入一樣 。shell 負(fù)責(zé)解譯命令 , 而使用者則必須了解這些命令能做什么 。這本書的索引列出了一些有用的命令和它們的使用方法 。
Shell 的功用
為了確保任何提示符號下輸入的命令都能夠適當(dāng)?shù)貓?zhí)行 。shell 擔(dān)任的工作包括有:
1. 讀取輸入和語法分析命令列
2. 對特殊字符求值
3. 設(shè)立管線、轉(zhuǎn)向、和幕后處理
4. 處理訊號
5. 設(shè)立程序來執(zhí)行
除了執(zhí)行效率稍差外 , Korn shell 在許多方面都比 Bourne shell 為佳;但是 , 若將 Korn shell 與 C shell 相比就很困難 , 因為二者在許多方面都各有所長 , 就效率和容易使用上看 , Korn shell 是優(yōu)于 C shell , 相信許多使用者對于 C Shell 的執(zhí)行效率都有負(fù)面的印象 。
在shell 的語法方面 , Korn shell 是比較接近一般程序語言 , 而且它具有子程序的功能及提供較多的資料型態(tài) 。至于 Bourne shell , 它所擁有的資料型態(tài)是三種 shell 中最少的 , 僅提供字符串變量和布爾型態(tài) 。在整體考量下 Korn shell 是三者中表現(xiàn)最佳者 , 其次為 C shell , 最后才是 Bourne shell , 但是在實際使用中仍有其它應(yīng)列入考慮的因素 , 如速度是最重要的選擇時 , 很可能應(yīng)該采用 Bourne shell , 因它是最基本的 shell , 執(zhí)行的速度最快 。
tcsh 是近幾年崛起的一個免費軟件(Linux 下的C shell 其實就是使用 tcsh)執(zhí)行 , 它雖然不是UNIX 的標(biāo)準(zhǔn)配備 , 但是從許多地方您都可以下載到它 。如果您是 C shell 的擁護(hù)者 , 筆者建議不妨試試 tcsh , 因為您至少可以將它當(dāng)作是 C shell 來使用 。如果您愿意花點時間學(xué)習(xí) , 您還可以享受許多它新增的優(yōu)越功能 , 例如:
1. tcsh 提供了一個命令列(command line)編輯程序 。
2. 提供了命令列補全功能 。
3. 提供了拼字更正功能 。它能夠自動檢測并且更正在命令列拼錯的命令或是單字 。
4. 危險命令偵測并提醒的功能 , 避免您一個不小心執(zhí)行了rm* 這種殺傷力極大的命令 。
5. 提供常用命令的快捷方式(shortcut) 。
bash 對 Bourne shell 是向下兼容(backward compatible) , 并融入許多C shell 與Korn shell 的功能 。這些功能其實 C shell(當(dāng)然也包括了tcsh)都有 , 只是過去 Bourne shell 都未支持 。以下筆者將介紹 bash 六點重要的改進(jìn)(詳細(xì)的使用說明筆者會在以后的章節(jié)介紹):
1. 工作控制(job contorl) 。bash 支持了關(guān)于工作的訊號與指令 , 本章稍后會提及 。
2. 別名功能(aliases) 。alias 命令是用來為一個命令建立另一個名稱 , 它的運作就像一個宏 , 展開成為它所代表的命令 。別名并不會替代掉命令的名稱 , 它只是賦予那個命令另一個名字 。

推薦閱讀