Linux中終端和控制台的一些不成熟的理解

2021-07-28 02:11:57 字數 3088 閱讀 7722

首先宣告,這僅僅是在下一些不成熟的想法。是通過看網上的一些資料和自己實踐的一些心得,應該都是些很不成熟甚至是不太正確的想法。但是我還是想記錄下來,算是乙個心路歷程吧。等以後成熟了,再來修改。

首先說一下控制台和終端在歷史上的一些區別

要明白這兩者的關係,還得從以前的多人使用的計算機開始。大家都知道,最初的計算機由於**昂貴,因此,一台計算機一般是由多個人同時使用的。在這種情況下一台計算機需要連線上許多套鍵盤和顯示器來供多個人 使用。在以前專門有這種可以連上一台電腦的裝置,只有顯示器和鍵盤,還有簡單的處理電路,本身不具有處理計算機資訊的能力,他是負責連線到一台正常的計算 機上(通常是通過串列埠) ,然後登陸計算機,並對該計算機進行操作。當然,那時候的計算機作業系統都是多工多使用者的作業系統。這樣一台只有顯示器和鍵盤能夠通過串列埠連線到計算機 的裝置就叫做終端。   而控制台又是什麼回事呢? 學機電的人應該知道,一台工具機,或者數控裝置的控制箱,通常會被稱為控制台,顧名思義,控制台就是乙個直接控制裝置的檯面(乙個面板,上面有很多控制按 鈕)。 在計算機裡,把那套直接連線在電腦上的鍵盤和顯示器就叫做控制台。請注意它和終端的區別,終端是通過串列埠連線上的,不是計算機本身就有的裝置,而控制台是 計算機本身就有的裝置,乙個計算機只有乙個控制台計算機啟動的時候,所有的資訊都會顯示到控制台上,而不會顯示到終端上。也就是說,控制台是計算機的基本裝置,而終端是附加裝置。 當然,由於控制台也有終端一樣的功能,控制台有時候也被模糊的統稱為終端。計算機作業系統中,與終端不相關的資訊,比如核心訊息,後台服務訊息,都可以顯示到控制台上,但不會顯示到終端上

現在由於計算機硬體越來越便宜,通常都是乙個人獨佔一台計算機超做,不再連線以前那種真正意義上的「終端裝置了」,因此,終端和控制台的概念也慢慢演化了。終端和控制台由硬體的概念,演化成了軟體的概念。現在我們提到終端大多都是虛擬終端,在我的centos7中一共有6個虛擬控制台終端,分別對應裝置檔案/dev/tty1----/dev/tty6(控制台「alt」+「fx」能夠切換到第x個(字元啞)終端。如果需要從x-window裡跳到第(字元啞)終端,需要「ctrl」+「alt」+「fx」),其中/dev/tty1是圖形控制臺,其他的都是命令列控制台。還有乙個裝置檔案/dev/tty0表示當前控制台,也就是當前你在使用哪個控制台,tty0就表示那個控制台。還有乙個裝置檔案/dev/console好像是和tty0關聯在一起的,貌似也可以表示當前控制台。

下面是乙個簡單的實驗:首先我位於圖形介面的控制台,然後按下ctrl+alt+f2這個時候就進入了/dev/tty2所關聯的控制台終端。如圖:

然後我們登入使用者。

這個時候我們可以用tty命令檢視一下當前終端名稱

發現確實是/dev/tty2

我們像/dev/tty0寫入一句話:(需要root許可權)

我們發現在這個控制台終端中顯示了我們寫入的話,這是應為/dev/tty0就表示當前控制台終端。

我們向/dev/console中寫入,同樣也會在當前控制台終端中顯示。

貌似就是應為/dec/console和/dev/tty0是關聯的。

下面我們開啟乙個新的字元控制台終端,alt+f3,然後試著在/dev/tty2所關聯的控制台終端中,像tty2檔案中寫入一句話,看產生什麼效果:

tty2所表示的終端中。

這是我們切換到tty3所表示的控制台終端中,發現已經輸出了hello,world

上面這些就是控制台終端。。。。。。

在圖形介面的控制台終端中,還提供了無數個虛擬終端(就是我們可以用右鍵-》在終端中開啟,彈出的那個可以輸入字元,顯示輸出的視窗。),這些虛擬終端對應的裝置檔案在/dev/pts/中

我們可以右鍵-》在終端中開啟,來開啟乙個虛擬終端,然後執行tty命令,看看終端裝置的名稱

發現叫/dev/pts/0。

然後我們再用同樣的方法開啟乙個終端

沒錯這次叫/dev/pts/1了,以此類推,依次開啟的就是/dev/pts/2....

我們試著在/dev/pts/0中向/dev/pts/1中寫入一句話:

我們會發現在第二個開啟的終端視窗中,顯示了我們輸入的話。

我們也可以試著在第乙個開啟的終端視窗(/dev/pts/0)中,向/dev/tty2寫入一句話:

然後我們切換到該控制台,發現我們輸入的話已經在這個控制台終端輸出了。

最後介紹一下裝置檔案/dev/tty,這個檔案在程式中經常使用。由於程式可能執行在不同的終端中,但是程式沒有必要知道究竟在哪乙個終端中執行。如果程式需要與終端打交道,那就和/dev/tty打交道吧!因為這個檔案始終關聯當前終端。!!

就寫到這裡了,都是些不成熟,甚至也可能是不爭取的想法,希望對你有幫助。不對的地方還請指教,謝謝~~

關於終端和控制台的一些解釋

今天看到有人問終端和控制台的區別,而且這個問題比較有普遍性,因此想抽出一點時間來解釋一下這兩個術語的區別。終端,英文叫做terminal 通常簡稱為term 比如我們在x下的xterm.控制台,英文叫做console。要明白這兩者的關係,還得從以前的多人使用的計算機開始。大家都知道,最初的計算機由於...

關於終端和控制台的一些解釋

今天看到有人問終端和控制台的區別,而且這個問題比較有普遍性,因此想抽出一點時間來解釋一下這兩個術語的區別。終端,英文叫做terminal 通常簡稱為term 比如我們在x下的xterm.控制台,英文叫做console。要明白這兩者的關係,還得從以前的多人使用的計算機開始。大家都知道,最初的計算機由於...

關於終端和控制台的一些解釋

今天看到有人問終端和控制台的區別,而且這個問題比較有普遍性,因此想抽出一點時間來解釋一下這兩個術語的區別。終端,英文叫做terminal 通常簡稱為term 比如我們在x下的xterm.控制台,英文叫做console。要明白這兩者的關係,還得從以前的多人使用的計算機開始。大家都知道,最初的計算機由於...