首頁 > 軟體

Linux基礎教學之互動式介面與終端

2020-06-16 16:38:08

一、什麼是互動式介面

互動式介面就是系統和使用者之間進行互動和資訊交換的媒介,它實現資訊的內部形式與人類可以接受形式之間的轉換。換句話說,即在啟動終端後,在終端裝置附加一個互動式應用程式,就叫互動式介面。通常指軟體介面,一般有命令列介面、圖形介面、程式介面三種。
命令列介面
命令列介面(command line interface,CLI)是計算機作業系統或應用程式為使用者提供的可視提示介面,使用CLI,可以在特定的行中輸入命令,從作業系統接收回應等。常見的如:shell程式:sh (bourn 史蒂夫·伯恩)、csh、 tcsh、 ksh (korn)、 bash (bourn again shell)GPL、zsh等。
圖形介面
圖形化使用者介面(Graphical User Interface,簡稱 GUI,又稱圖形使用者介面)是指採用圖形方式顯示的計算機操作使用者介面。圖形化使用者介面是一種人與計算機通訊的介面顯示格式,允許使用者使用滑鼠等輸入裝置操縱螢幕上的圖示或選單選項,以選擇命令、呼叫檔案、啟動程式或執行其它一些日常任務。常見的如:X protocol、window manager、Desktop:GNOME (C, 圖形庫gtk)、KDE (C++,圖形庫qt)、XFCE (輕量級桌面)
程式介面
程式介面就是作業系統為使用者提供的兩類介面之一,程式設計人員在程式中通過程式介面來請求作業系統提供服務。程序導向語言最基本的單元是過程和函數。常見的如:API(Application Programming Interface),就是軟體系統不同組成部分銜接的約定;ABI(Application Binary Interface),應用程式二進位制介面,描述了應用程式和作業系統之間,一個應用和它的庫之間,或者應用的組成部分之間的低介面。

二、終端

? 裝置終端
鍵盤滑鼠顯示器
? 物理終端( /dev/console )
控制台console
? 虛擬終端(tty:teletypewriters, /dev/tty# #為[1-6])
tty 可有n個,Ctrl+Alt+F[1-6]
在UNIX系統中,計算機顯示器通常被稱為控制台終端(Console)。它模擬了型別為Linux的一種終端(TERM=Linux),並且有一些裝置特殊檔案與之相關聯:tty0、tty1、tty2等。當你在控制台上登入時,使用的是tty1。使用Alt+[F1—F6]組合鍵時,我們就可以切換到tty2、tty3等上面去。tty1 –tty6等稱為虛擬終端,而tty0則是當前所使用虛擬終端的一個別名,系統所產生的資訊會傳送到該終端上。因此不管當前正在使用哪個虛擬終端,系統資訊都會傳送到控制台終端上。
你可以登入到不同的虛擬終端上去,因而可以讓系統同時有幾個不同的對談期存在。只有系統或超級使用者root可以向/dev/tty0進行寫操作
? 圖形終端( /dev/tty7 ) startx, xwindows
CentOS 6: Ctrl + Alt + F7
CentOS 7: 在哪個終端啟動,即位於哪個虛擬終端
? 序列終端( /dev/ttyS# )
ttyS
串列埠終端(Serial Port Terminal)是使用計算機串列埠連線的終端裝置。計算機把每個串列埠都看作是一個字元裝置。有段時間這些串列埠裝置通常被稱為終端裝置,因為那時它的最大用途就是用來連線終端。這些串列埠所對應的裝置名稱是/dev/tts/0(或/dev/ttyS0)、/dev/tts/1(或/dev/ttyS1)等,裝置號分別是(4,0)、(4,1)等,分別對應於DOS系統下的COM1、COM2等。若要向一個埠傳送資料,可以在命令列上把標準輸出重定向到這些特殊檔名上即可。例如,在命令列提示符下鍵入:echo test > /dev/ttyS1會把單詞”test”傳送到連線在ttyS1(COM2)埠的裝置上。
? 偽終端( pty:pseudo-tty , /dev/pts/# )
pty, SSH遠端連線
偽終端(Pseudo Terminal)是成對的邏輯終端裝置,例如/dev/ptyp3和/dev/ttyp3(或著在裝置檔案系統中分別是/dev/pty/m3和/dev/pty/s3)。它們與實際物理裝置並不直接相關。如果一個程式把ttyp3看作是一個串列埠裝置,則它對該埠的讀/寫操作會反映在該邏輯終端裝置對的另一個上面(ttyp3)。而ttyp3則是另一個程式用於讀寫操作的邏輯裝置。這樣,兩個程式就可以通過這種邏輯裝置進行互相交流,而其中一個使用ttyp3的程式則認為自己正在與一個串列埠進行通訊。這很象是邏輯裝置對之間的管道操作。
對於ttyp3(s3),任何設計成使用一個串列埠裝置的程式都可以使用該邏輯裝置。但對於使用ptyp3的程式,則需要專門設計來使用ptyp3(m3)邏輯裝置。
例如,如果某人在網上使用telnet程式連線到你的計算機上,則telnet程式就可能會開始連線到裝置ptyp2(m2)上(一個偽終端埠上)。此時一個getty程式就應該執行在對應的ttyp2(s2)埠上。當telnet從遠端獲取了一個字元時,該字元就會通過m2、s2傳遞給getty程式,而getty程式就會通過s2、m2和telnet程式往網路上返回”login:”字串資訊。這樣,登入程式與telnet程式就通過“偽終端”進行通訊。通過使用適當的軟體,就可以把兩個甚至多個偽終端裝置連線到同一個物理串列埠上。
在使用裝置檔案系統(device filesystem)之前,為了得到大量的偽終端裝置特殊檔案,HP-UX AIX等使用了比較複雜的檔名命名方式。

可以通過以下命令檢視當前的終端裝置
tty

三、Linux Shell

?Shell 是Linux系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。
?Shell也被稱為LINUX的命令直譯器(command interpreter)
?Shell是一種高階程式設計語言

bash shell
GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟體之一,目前也是 Linux標準的shell,與sh相容
?CentOS預設使用
?顯示當前使用的shell
echo ${SHELL}
?顯示當前系統使用的所有shell
cat /etc/shells


IT145.com E-mail:sddin#qq.com