上篇文章只要是講了Linux1些基本概述。
我們這次開始打好命令行操作的基礎,以后再靠1些圖形化的操作來提升我們的工作效力。
既然要學習Linux操作系統,我們就要去學習它的命令,總所周知,Linux的圖形界面是不穩定的,它的圖形界面只不過是1個利用程序,所以很容易奔潰。所以我們應當學習圖形下面的1些機制,包括用命令行去實現1些東西,用shell去實現1些東西,包括去理解它的內部機制。
固然這些命令去死記硬背是不行的。
啟動虛擬機,啟動Ubuntu。
圖形界面 切換到 命令行 是按 ctrl+alter+ F2 或 F3 或 F4
命令行 切換回 圖形界面 ctrl+alter+ F7
1、第1個命令:ls
列出文件下的所有文件,ls其實就是list的1個縮寫
現在我們來分析1下這個命令是怎樣實現的,實現機制是甚么樣的?
從字面理解,shell是貝殼/外殼的意思。
比方說 A--》這個是操作系統的內核kernel,在kernel之上呢我們就會有用戶接口的定義,然后再往上我們有1個外殼把它包裹起來,這個外殼里有很多命令工具,我們通過這些命令工具和編寫我們自己的Shell腳本命令,有點類似于Windows下面的批處理,通過這些來實現對下面的訪問。
所以ls的實現進程是這樣的:
(1)輸入了ls
(2)ls->去相應的目錄去找shell命令程序,那這個shell去哪里找呢,固然是在path里找,那末這個path在哪里設置呢?環境變量。
(3)找到了以后就要履行,履行是基于Shell的1些基本庫,比如說在Ubuntu里面我們的Shell采取的是Bash
(4)最后就是訪問kernel內核
現在我們來看1下這個path是在哪里配置的,這樣我們才能知道ls命令在哪里。
我們看path之前呢,先看1個新的命令
whereis ls
打印出來ls: /bin/ls /usr/share/man/man1/ls.1.gz
我們來查找1下/bin/ls這個目錄
ls /bin/ls
打印出來 /bin/ls 顯示是綠色,說明它是個可履行文件
那下面我們看1下環境變量是不是真的指向 /bin/ls ,那末環境變量在哪呢?我們想象1下我們之前說的那個文 件夾是做配置的,好像是etc這個文件夾對不對。
我們進入etc文件夾看1下
cd etc
那末環境變量是在 /etc/environment下,我們ls1下
ls /etc/environment
打印出來 /etc/environment , 我們得知是1個1般文件
我們用vi工具打開該文件
vi /etc/environment
我們可以看到確切有個PATH
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games"
也就是說ls履行的時候就會去這些文件下去找可履行文件
通過bash對ls進行解析
2、Linux是如何實現Shell的
(1)Bash
(2)Coreutils
要了解這兩塊我們不能不去說1下GNU,去查1下GNU的翻譯
Bash和Coreutils是在GNU上開發的
GNU的官網: http://www.gun.org/
里面有對GNU Bash的介紹
下載1下bash
我們可以通過bash -version查看當前bash版本
怎樣辦bash移植到我們的系統里面,不用命令怎樣手動移植,可以查看幫助文檔
1定要理解GUN與Linux的關系