001 Linux下的終端和shell概念

2022-09-01 20:45:15 字數 1349 閱讀 8700

十年運維系列之基礎篇 - linux

聯絡:[email protected]

**:www.jplatformx.com

本小節中簡單講解一下終端的概念,終端這個概念也是普遍迷惑linux新手們的乙個不太容易理解又模糊的概念。

圖形介面下的命令列視窗,叫做偽終端。但是這個偽終端是跟那個脫離圖形介面的、黑漆漆的、按alt+ctrl+f1~f6組合鍵出來的那個終端而說的。偽終端的工作方式是在桌面上申請乙個視窗,然後在裡面模擬顯示出乙個黑漆漆的介面。比如gnome終端、konsole終端、xterm終端、urxvt終端等等。

虛擬終端就是那些沒有圖形介面,像dos那樣的命令列。虛擬終端就是把一台全功能的電腦(比如咱們的pc)通過軟體模擬成另外一台計算機的終端裝置。

其實終端最初是一種輸入/輸出硬體裝置,有鍵盤顯示器和連線主機的介面電纜,是過去大中小型計算機上的概念。咱們用的pc(也就是微型機)是沒有終端這個概念的。

以上介紹了終端、虛擬終端、偽終端。有些人可能會有所顧忌,覺得在這些終端裡面執行的linux命令不是真正的linux命令。這裡其實需要澄清乙個概念,那就是終端本身是不會解析命令的。它只是乙個介面而已,是負責人機互動的乙個介面而已。真正處理命令的並不是這些終端,真正處理命令列的是shell。終端只是負責提供乙個輸入命令的互動介面而已,在裡面執行的命令並不歸終端介面去解析,而是找到專門的命令列程式,這種程式我們一般將其稱之為shell。

linux本質上是乙個核心,這個核心可以用來做很多的事情,整個電腦都歸核心來管理。顯示卡、音效卡、記憶體、硬碟,以及硬碟上的各種程式也歸核心排程。那麼,核心讓硬體、軟體去做什麼事情呢?核心本身是不清楚的,它需要接受指令,那麼下指令的是誰呢?就是人類使用者。

可以人類使用者要做什麼操作,靠嘴說是無濟於事的。因為核心根本就不會懂。因此就需要乙個軟體來作為人機之間的橋梁,這個軟體可以將人類的操作意圖轉述給核心,那麼這個軟體就是shell。它就像乙個罩在作業系統和人之間的乙個外殼一樣,在人和作業系統之間傳達著資訊。

shell廣義上可以指作業系統和使用者介面的介面,圖形介面也是一種shell。因為圖形介面的本質也是實現「把人類使用者的操作意圖轉述個核心」。

shell是乙個程式,乙個二進位制可執行可執行的程式,一般情況下,我們並不會感覺它的存在,因為我們很少主動去呼叫它,除非我們人為去執行bash程式。那麼shell跟終端有什麼關係呢?

shell和終端的關係就是終端程式會自動呼叫shell程式。體現在每次開啟終端(偽終端、虛擬終端)的時候,終端程式都會去呼叫shell。終端呼叫終端程式成功的情況下,終端就會顯示如下的資訊:

[user@host ~]$

其中user指示的就是登入人是誰,host指示登入到的主機,~表示當前操作目錄,$表示的是命令提示符(如果登陸人是root的話就顯示為#),表示等待輸入命令。

001 Linux下vi vim常用操作

參考資料 1 runoob.com linux vi vim 2 vim tutor 命令模式 command mode 啟動vi vim即進入命令模式 輸入模式 insert mode 命令模式下按i a o等即可進入輸入模式,可以進行字元輸入 換行 回刪等操作 底線命令模式 last line ...

001 Linux虛擬機器的安裝

說明 我的虛擬機器網路在本地的ip是 192.168.18.1,所以下面的設定為192.168.18.還要注意一點的就是 我們必須以root使用者進行登入,要不然是沒有許可權進行修改的 device eth0 bootproto dhcp hwaddr 00 0c 29 24 73 bc ipv6i...

Linux 指令碼 sh 和 的區別

如果.不在path裡面,要執行當前目錄下的可執行檔案,使用全路徑 executable filepath是環境變數,如果將當前目錄 新增到環境變數中,那麼也可以不用 直接輸入當前目錄下有可執行許可權的可執行檔案就可以執行了 如果要執行乙個sh指令碼,不管那個指令碼有沒有可執行許可權,都可以使用 sh...