歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux Shell 簡介以及使用

  Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行。

  實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。

  Linux提供了像Microsoft Windows那樣的可視的命令輸入界面--X Window的圖形用戶界面(GUI)。它提供了很多桌面環境系統,其操作就象Windows一樣,有窗口、圖標和菜單,所有的管理都是通過鼠標控制。現在比較流行的桌面環境系統是KDE和GNOME。

  每個Linux系統的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門的Shell需要。

  同Linux本身一樣,Shell也有多種不同的版本。目前主要有下列版本的Shell: Bourne Shell:是貝爾實驗室開發的。

  BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell。

  Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容。 C Shell:是SUN公司Shell的BSD版本。

 不論是哪一種Shell,它最主要的功用都是解譯使用者在命令列提示符號下輸入的指令。Shell 語法分析命令列,把它分解成以空白區分開的符號(token),在此空白包括了跳位鍵(tab)、空白和換行(New Line)。如果這些字包含了metacharacter,shell 將會評估(evaluate)它們的正確用法。另外,shell 還管理檔案輸入輸出及幕後處理(background processing)。在處理命令列之後,shell 會尋找命令並開始執行它們。

  Shell 的另一個重要功用是提供個人化的使用者環境,這通常在 shell 的初始化檔案中完成(.profile、.login、.cshrc、.tcshrc 等等)。這些檔案包括了設定終端機鍵盤和定義窗口的特征;設定變量,定義搜尋路徑、權限限、提示符號和終端機類形;以及設定特殊應用程序所需要的變量,例如窗口、文字處理程序、及程序語言的鏈接庫。Korn shell 和 C shell 加強了個別化的能力:增加歷程、別名、和內建變量集以避免使用者誤殺檔案、不慎簽出、並在當工作完成時通知使用者。

  Shell 也能當解譯性的程序語言(interpreted programing language)。Shell 程序,通常叫做命令文件,它由列在檔案內的命令所構成。此程序在編輯器中編輯(雖然也可以直接在命令列下寫作程序, online scripting),由 UNIX 命令和基本的程序結構,例如變量的指定、測試條件、和循環所構成。您不需要編譯 shell 命令檔。Shell 本身會解譯命令檔中的每一行,就如同由鍵盤輸入一樣。shell 負責解譯命令,而使用者則必須了解這些命令能做什麼。

Copyright © Linux教程網 All Rights Reserved