1. 程式人生 > 其它 >Linux學習筆記1-Linux與Shell介紹

Linux學習筆記1-Linux與Shell介紹

作業系統發展史

回顧一下作業系統的發展史,可以分為四大時代

  • 第一個是OS時代,這個時候作業系統才剛剛成型,1973 年由貝爾實驗室開發的UNIX 系統,以及 1982 年與 1991年在 UNIX 系統基礎上進行擴充套件定製的若干變種

  • 第二個時代是 PC 時代,PC 時代崛起於 1975 年,當年喬布斯開發了 Apple 系統,隨後 1980 年,比爾蓋茨開發了 DOS 系統,從這時起更多的人開始接觸作業系統,個人計算機得以普及

  • 第三個時代是 GUI 時代,GUI 時代的代表作是 1979 年喬布斯開發的 Mac 系統與 1990 年比爾蓋茨開發的 Windows 系統,以及 1994 年的 Linux 系統,這三個系統影響了整個時代,一直到現在仍被廣泛使用

  • 第四個時代是移動 OS 時代,隨著移動網際網路的發展,移動 OS 也變得越來越重要,在移動 OS 時代,最知名的是 Google 的 Android 系統,以及喬布斯的 iOS 系統

Bash介紹

Bash 是 Unix 系統和 Linux 系統的一種 Shell(命令列環境),是目前絕大多數 Linux 發行版的預設 Shell。

Shell的含義

學習 Bash,首先需要理解 Shell 是什麼。Shell 這個單詞的原意是“外殼”,跟 kernel(核心)相對應,比喻核心外面的一層,即使用者跟核心互動的對話介面。

具體來說,Shell 這個詞有多種含義。

首先,Shell 是一個程式,提供一個與使用者對話的環境。這個環境只有一個命令提示符,讓使用者從鍵盤輸入命令,所以又稱為命令列環境(command line interface,簡寫為 CLI)。Shell 接收到使用者輸入的命令,將命令送入作業系統執行,並將結果返回給使用者。本書中,除非特別指明,Shell 指的就是命令列環境。

其次,Shell 是一個命令直譯器,解釋使用者輸入的命令。它支援變數、條件判斷、迴圈操作等語法,所以使用者可以用 Shell 命令寫出各種小程式,又稱為指令碼(script)。這些指令碼都通過 Shell 的解釋執行,而不通過編譯。

最後,Shell 是一個工具箱,提供了各種小工具,供使用者方便地使用作業系統的功能。

Shell的種類

在 Linux 系統中你可以通過 cat 指令來檢視 etc/ 下的 shells,可以看到本地支援的 Shell 種類非常多,常見的有 bash、csh、ksh、sh,等等。其中,sh 是 Bash 的早期形態,因為 sh 不是 GNU 專案,所以後期又開發了 Bash。

在 Windows 系統中,是沒有 Shell 環境的,Windows 下的 Shell 其實叫作 command,現在升級為 PowerShell,但是 Windows 指令與 Linux 系統並不相容,因為它本身不是從 Linux/Unix 系統衍生出來的,所以導致 Windows 與目前的OS,如:Mac、Linux、Android、iOS 的命令不相容。為了解決這個問題,在 Windows 中你可以使用 Git bash,以及 Cygwin 來模擬 Shell 環境。

如果你的系統是 Mac,那麼恭喜你,Mac 系統自帶了 Terminal,你還可以安裝 iTerm2,它們都是標準的 Shell 環境。在 Linux 環境下,建議你使用 Bash,Bash 是目前行業內使用最廣泛的 Shell 環境,在 Windows 環境下,建議你使用 Git bash,它幾乎包含了 Linux 常用的全部指令。

命令列環境

終端模擬器

如果是不帶有圖形環境的 Linux 系統(比如專用於伺服器的系統),啟動後就直接是命令列環境。

不過,現在大部分的 Linux 發行版,尤其是針對普通使用者的發行版,都是圖形環境。使用者登入系統後,自動進入圖形環境,需要自己啟動終端模擬器,才能進入命令列環境。

所謂“終端模擬器”(terminal emulator)就是一個模擬命令列視窗的程式,讓使用者在一個視窗中使用命令列環境,並且提供各種附加功能,比如調整顏色、字型大小、行距等等。

不同 Linux 發行版(準確地說是不同的桌面環境)帶有的終端程式是不一樣的,比如 KDE 桌面環境的終端程式是 konsole,Gnome 桌面環境的終端程式是 gnome-terminal,使用者也可以安裝第三方的終端程式。所有終端程式,儘管名字不同,基本功能都是一樣的,就是讓使用者可以進入命令列環境,使用 Shell。

命令列提示符

進入命令列環境以後,使用者會看到 Shell 的提示符。提示符往往是一串字首,最後以一個美元符號$結尾,使用者可以在這個符號後面輸入各種命令

進入和退出方法

進入命令列環境以後,一般就已經開啟 Bash 了。如果你的 Shell 不是 Bash,可以輸入bash命令啟動 Bash。

$ bash

退出 Bash 環境,可以使用exit命令,也可以同時按下Ctrl + d

$ exit

第一行命令

我自己的電腦是Mac系統,並且安裝了iTeam,輸入echo hello shell ,顯示如下

整理參考

網道(WangDoc.com)

測試開發核心技術 46 講