
了解Linux系統強大的控制臺、終端和shell
如同其他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”,找“#Rungettysin
standardrunlevels”一行,下面以數字和“#”開頭的6行都是控制臺終端說明。以“#”開頭的行在大多數配置文件里表示注
釋,即該行不生效。把那幾個“#”去掉,重新啟動后即可獲得全部6個控制臺終端。
前面提到的“rxvt”,運行時會在圖形界面中虛擬一個終端窗口,由于實際功效幾乎完全相同,從這里起,本文檔中不
論是圖形界面下開啟的“終端”,還是控制臺下登錄后的終端,如沒有特別說明,均以不帶引號的“終端”指代。必要時則以
“虛擬終端”和“控制臺終端”區分。
注意,在控制臺終端下登錄時,“login:”處輸入帳號,“password:”處輸入口令。同樣為安全起見,輸入的口令不顯
示。控制臺終端注銷用命令“logout”。在控制臺終端啟動的后臺程序不會因為注銷而終止。
前面說過,控制臺終端“算是Linux的本來面目”。也只能“算是”,因為各終端里運行的命令行程序并不是終端本身,
更不是Linux本身。像X-Window一樣,那個命令行程序實質上也是個外圍程序,叫“shell”。
“shell”,殼。從名字看,也許你已經猜到一些東西。不錯,它包含了用戶界面功能,負責接收使用者輸入的東西,
翻譯后發送給Linux內核處理。如果有輸出信息,它也會把輸出信息顯示出來。相對DOS而言,shell就相當于
“”。
shell同樣能進行由幾個命令串成的“批處理”。與“”不同,shell的功能要強大許多。一個功能稍強的
shell腳本,已經具備高級語言的語法結構,因此編寫shell腳本在很多情況下也被看作是編程。
一般情英語兒歌簡單易學 況下,在控制臺終端登錄或在圖形界面下開啟“終端”,默認都會啟動一個shell來接待使用者。
可以在shell的命令行里啟動另外一個shell。退出當前shell的通用命令是“exit”。如果當前使用的shell正是控制臺
登錄后啟動的,則“exit”等效于“logout”。
shell中啟動的后臺程序不會因正常退出而終止。所謂非正常退出,指強行殺掉這個shell;在圖形界面下用“打叉”
方式關閉終端也算強行終止一個shell。
shell有很多種,各有特色。目前使用比較廣泛的是shell是“bash”,主要的Linux發行版均以其作為默認的shell。
“bash”和其他主流shell都支持一次輸入多個命令,支持啟動后臺程序。如果要依次執行多個命令,命令間用“;”隔開;如
果要讓這個程序在后臺運行,在命令后面加“&”。
作者:ubuntu2009發布日期:2009-3-06
學習了
作者:trz420發布日期:2009-3-06
還是有點暈,不過非常感謝
作者:litkt發布日期:2009-3-06
終端和控制臺都不是個人電腦的概念,而是多人共用的小型中型大型計算機上的概念.
一臺主機,連很多終端,終端為主機提供了人機接口,每個人都通過終端使用主機的資源.終端有字符啞終端和圖形終端兩
種.
控制臺是另一種人機接口,不通過終端與主機相連,而是通過顯示卡大面 -顯示器和鍵盤接口分別與主機相連,這是人控制主
機的第一人機接口.
話回到個人計算機上,個人計算機只有控制臺,沒有終端.當然愿意的話,可以在串口上連一兩臺字符啞終端.但是linux
偏要按POSIX標準把個人計算機當成小型機來用,
那么就在控制臺上通過getty軟件虛擬了六個字符啞終端(數量可以在/etc/inittab里自己調)和一個圖型終端,在虛擬圖形
終端中又可以通過軟件(如rxvt)再虛擬無限多個虛擬字符啞終端.記住,這全是虛擬的,用起來一樣,但實際上并不是.
所以在個人計算機上,只有一個實際的控制臺,沒有終端,所有終端都是在控制臺上用軟件模擬的.
要把個人計算機當主機再通過串口或網卡外連真正的物理終端也可以,但由于真正的物理終端并不比個人計算機本身便
宜,一般沒有人這么做.
作者:wofe_1999發布日期:2009-3-07
學習
作者:相思愛文發布日期:2009-3-09
對個人來說,一般文章中,控制臺就是指按Ctrl+Alt+F1后顯示的黑白字符界面;終端就是能輸入入命令并顯示結果的
shell界面(包括桌面虛擬終端和控制臺終端)。
我這樣說并不準確,可以這樣理解。讀寫文章時以這個為標準就行了。
作者:ahsjc發布日期:2009-6-14
支持..
作者:gates123發布日期:2009-6-19
哦,原來如此,終于明白了。
作者:pipiwing發布日期:2009-6-19
學習了~
終端(terminal,或者叫物理終端):
是一種設備,不是一個程序,一般說的就是能提供命令行用戶界面的設備,
典型的是屏幕和鍵盤,或其他的一些物理終端。
虛擬終端:
屏幕和鍵盤只是一個終端,可能不夠用,又不想增加設備投入,就產生了
虛擬終端。
gnome-terminal,urxvt,mlterm,xterm等等:
是一個程序,職責是模擬終端設備,和虛擬終端的區別表面上在于它以
GUI形式的窗口出現,內部則是程序結構和系秋天里 統控制結構有所不同,但本
質上差不多。
控制臺(console):
顯示系統消息的終端就叫控制臺,Linux默認所有虛擬終端都是控制臺,
都能顯示系統消息。
但有時專指CLI下的模擬終端設備的一個程序,和gnome-terminal,urxvt,
mlterm,xterm等相同,只是CLI和GUI界面的區別。一般console有6
個,tty1-6,CTRL+ALT+fn切換。還沒聽說過怎么換console
shell是一個抽象概念,shell的一切操作都在計算機內部,負責處理人
機交互,執行腳本等,是操作系統能正常運行的重要組成部分
bash,ash,zsh,tcsh等是shell這個抽象概念的一種具體的實現,都是
一個程序,都能生成一個進程對象。
如果想換shell的程序,可以修改/etc/passwd,把里面的/bin/bash換成
你想要的shell,或者用chsh命令來切換
shell與終端的關系:shell把一些信息適當的輸送到終端設備,同時還
接收來自終端設備的輸入。一般每個shell進程都會有一個終端關聯,也
可以沒有。
當然,還有一些不同的見解,我認為這個總結不錯,僅供參考!
另外在wikipedia上也講到:
字符程序<--->虛擬終端<--->圖像顯示shell<--->xterm<--->X11
可見xterm的確是所謂的“虛擬終端”!
使用linux已經有一段時間,卻一直弄不明白這幾個概念之間
的區別。雖然一直在用,但是很多概念都感覺模糊不清,這樣不上
不下的狀態實在令人不爽。下面就澄清一下這些概念。
這些概念本身有著非常濃厚的歷史氣息,隨著時代的發展,他
們的含義也在發生改變,它們有些已經失去了最初的含義,但是它
們的名字卻被保留了下來。
控制臺(Console)
控制臺(Console)是物理設備,用于輸入輸出,它直接連接在計
算機上,是計算機系統的一部分。計算機輸出的信息會顯示在控制
臺上,例如BIOS的輸出,內核的輸出。
終端(Terminal)
終端(Terminal)也是一臺物理設備,只用于輸入輸出,本身沒
有強大的計算能力。一臺計算機只有一個控制臺,在計算資源緊張
的時代,人們想共享一臺計算機,可以通過終端連接到計算機上,
將指令輸入終端,終端傳送給計算機,計算機完成指令后,將輸出
傳送給終端,終端將結果顯示給用戶。
虛擬控制臺(VirtualConsole),虛擬終端(VirtualTerminal)
虛擬控制臺(VirtualConsole)和虛擬終端是一樣的。我們只有
一臺終端(物理設備),這是我們與計算機之間的用戶接口。假如
有一天,我們想擁有多個用戶接口,那么,一方面我們可以增加終
端數目(物理設備),另一方面,還可以在同一臺終端(物理設備)
上虛擬出多個終端,它們之間互相不影響,至少看起來互相不影響。
這些終端就是虛擬終端。
在Ubuntu中,我們按下Ctrl+Alt+Fx時,會進入第x個虛擬終
端,一共有七個虛擬終端,其中第七個虛擬終端,就是我們默認使
用的圖形用戶界面。
終端模擬器(TerminalEmulator)
我們知道,終端是一種物理設備,而終端模擬器(Terminal
Emulator),是一個程序,這些程序用來模擬物理終端。圖形用戶界
面中的終端模擬器一般稱為終端窗口(TerminalWindow),我們在
Ubuntu下打開的gnome-terminal就屬于此類。
tty
tty的全稱是TeleTYpewriter,這就是早期的終端(物理設備),
它們用于向計算機發送數據,并將計算機的返回結果打印出來。顯
示器出現后,終端不再將結果打印出來,而是顯示在顯示器上。但
是tty的名字還是保留了下來。
在Ubuntu中,我們按下Ctrl+Alt+F1時,會進入第1個虛擬終
端,你可以看到屏幕上方顯示的tty1。
shell
shell和之前說的幾個概念截然不同,之前的幾個概念都是與
計算機的輸入輸出相關的,而shell是和內核相關的。內核為上層
的應用提供了很多服務,shell在內核的上層,在應用程序的下層。
例如,你寫了一個helloworld程序,你并不用顯式地創建一個進
程來運行你的程序,你把寫好的程序交給shell就行了,由shell
負責為你的程序創建進程。
我們在終端模擬器中輸入命令時,終端模擬器本身并不解釋執
行這些命令,它只負責輸入輸出,真正解釋執行這些命令的,是
shell。
我們平時使用的sh,bash,csh是shell的不同實現。
?
shsh這個概念本身就有岐義,它可以指shell程序的名字,
也代表了shell的實現。
Thompsonshell是第一個Unixshell,由KenThompso于1971年
在Unix第一版本中引入,shell的程序名即為sh。Bourneshell
作為Thompsonshell的替代,由StephenBourne于1977年在Unix
第七版中引入,它的程序名也是sh。Bour曹雪芹是男是女 neshell不僅僅是一個命
令解釋器,更作為一種編程語言,提供了Thompsonshell不具備的
程序控制功能,并隨著han和RobPike的The
UNIXProgrammingEnvironment的出版而名聲大噪。
?
cshcsh全稱為CShell,由BillJoy在70年代晚期完
成,那時韓束護膚品怎么樣 候他還是加州伯克利大學的研究生。tcsh是csh的升級版。
與sh不同,csh的shell腳本,語法接近于C語言。
?
bashbash是由BrianFox為GNU項目開發的自由軟件,
作為Bourneshell的替代品,于1989年發布。是Linux和MacOS
X的默認shell。bash的命令語法是Bourneshell命令語法的超集,
從ksh和csh借鑒了一些思想。
好了,就寫到這里,上面的內容是我參考維基百科后寫下的,不保
證完全正確,下面還提供了一些資料,如果有興趣可以閱讀一下。
擴展閱讀
1.
Whatistheexactd漫天星 ifferencebetweena
'terminal',a'shell',a'tty'anda'console'?
2.
shell,bash,zsh,console,terminal到底是什么意
思,它們之間又是什么關系?
3.
4.
shell、控制臺、終端的區別
Whyisavirtualterminal“黑提子 virtual”,and
what/why/whereisthe“real”terminal?

本文發布于:2023-04-12 07:20:39,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/168125523943916.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:圖形終端.doc
本文 PDF 下載地址:圖形終端.pdf
| 留言與評論(共有 0 條評論) |