來源:賽迪網 作者:kid
如同其他UNIX類系統,Linux本身也是基於命令行的。試試“Ctrl”+“Alt”+“F1”。這就是控制台,算是Linux的本來面目。至於使用方法,除了多出登錄注銷外,和前面章節所提到的“終端”差不多。在X-Window出問題或不運行X-Window的時候,操作主要在這裡完成。
Linux在控制台下提供了不止一個終端,支持多用戶同時登錄,包括在本機同時登錄。控制台“Alt”+“Fx”能夠切換到第x個終端。如果需要從X-Window裡跳到第x個終端,需要“Ctrl”+“Alt”+“Fx”。
一般地,Linux發行版提供7個虛擬屏幕,1~6號是控制台終端,第7個上面跑X-Window。紅旗Linux桌面4.0只提供了2個控制台終端,第3個跑X-Window,如果需要更多控制台終端,可以修改“/etc/inittab”,找“# Run gettys in standard runlevels”一行,下面以數字和“#”開頭的6行都是控制台終端說明。以“#”開頭的行在大多數配置文件裡表示注釋,即該行不生效。把那幾個“#”去掉,重新啟動後即可獲得全部6個控制台終端。
前面提到的“rxvt”,運行時會在圖形界面中虛擬一個終端窗口,由於實際功效幾乎完全相同,從這裡起,本文檔中不論是圖形界面下開啟的“終端”,還是控制台下登錄後的終端,如沒有特別說明,均以不帶引號的“終端”指代。必要時則以“虛擬終端”和“控制台終端”區分。
注意,在控制台終端下登錄時,“login: ”處輸入帳號,“password: ”處輸入口令。同樣為安全起見,輸入的口令不顯示。控制台終端注銷用命令“logout”。在控制台終端啟動的後台程序不會因為注銷而終止。
前面說過,控制台終端“算是Linux的本來面目”。也只能“算是”,因為各終端裡運行的命令行程序並不是終端本身,更不是Linux本身。像X-Window一樣,那個命令行程序實質上也是個外圍程序,叫“shell”。
“shell”,殼。從名字看,也許你已經猜到一些東西。不錯,它包含了用戶界面功能,負責接收使用者輸入的東西,翻譯後發送給Linux內核處理。如果有輸出信息,它也會把輸出信息顯示出來。相對DOS而言,shell就相當於“command.com”。
shell同樣能進行由幾個命令串成的“批處理”。與“command.com”不同,shell的功能要強大許多。一個功能稍強的shell腳本,已經具備高級語言的語法結構,因此編寫shell腳本在很多情況下也被看作是編程。
一般情況下,在控制台終端登錄或在圖形界面下開啟“終端”,默認都會啟動一個shell來接待使用者。
可以在shell的命令行裡啟動另外一個shell。退出當前shell的通用命令是“exit”。如果當前使用的shell正是控制台登錄後啟動的,則“exit”等效於“logout”。
shell中啟動的後台程序不會因正常退出而終止。所謂非正常退出,指強行殺掉這個shell;在圖形界面下用“打叉”方式關閉終端也算強行終止一個shell。
shell有很多種,各有特色。目前使用比較廣泛的是shell是“bash”,主要的Linux發行版均以其作為默認的shell。“bash”和其他主流shell都支持一次輸入多個命令,支持啟動後台程序。如果要依次執行多個命令,命令間用“;”隔開;如果要讓這個程序在後台運行,在命令後面加“&”。