Shell命令機制

來源:互聯網
上載者:User

標籤:shell   ubuntu   bash   gnu   linux   

     上篇文章只要是講了Linux一些基本概述。

        我們這次開始打好命令列操作的基礎,以後再靠一些圖形化的操作來提升我們的工作效率。

        既然要學習Linux作業系統,我們就要去學習它的命令,總所周知,Linux的圖形介面是不穩定的,它的圖形介面只不過是一個應用程式,所以很容易奔潰。所以我們應該學習圖形下面的一些機制,包括用命令列去實現一些東西,用shell去實現一些東西,包括去理解它的內部機制。

當然這些命令去死記硬背是不行的。

啟動虛擬機器,啟動Ubuntu。

圖形介面 切換到 命令列 是按 ctrl+alter+ F2 或 F3 或 F4

命令列 切換回 圖形介面 ctrl+alter+ F7

1、第一個命令:ls

列出檔案下的所有檔案,ls其實就是list的一個縮寫

現在我們來分析一下這個命令是怎麼實現的,實現機制是什麼樣的?

從字面理解,shell是貝殼/外殼的意思。

比方說  A--》這個是作業系統的核心kernel,在kernel之上呢我們就會有使用者介面的定義,然後再往上我們有一個外殼把它包裹起來,這個外殼裡有很多命令工具,我們通過這些命令工具和編寫我們自己的Shell指令碼命令,有點類似於Windows下面的批處理,通過這些來實現對下面的訪問。

所以ls的實現過程是這樣的:

(1)輸入了ls

(2)ls->去相應的目錄去找shell命令程式,那這個shell去哪裡找呢,當然是在path裡找,那麼這個path在哪裡設定呢?環境變數。

(3)找到了之後就要執行,執行是基於Shell的一些基本庫,比如說在Ubuntu裡面我們的Shell採用的是Bash 

(4)最後就是訪問kernel核心

現在我們來看一下這個path是在哪裡配置的,這樣我們才能知道ls命令在哪裡。

我們看path之前呢,先看一個新的命令

whereis  ls

列印出來ls: /bin/ls  /usr/share/man/man1/ls.1.gz

我們來尋找一下/bin/ls這個目錄

ls /bin/ls

列印出來 /bin/ls  顯示是綠色,說明它是個可執行檔


那下面我們看一下環境變數是否真的指向 /bin/ls ,那麼環境變數在哪呢?我們想象一下我們之前說的那個文件夾是做配置的,好像是etc這個檔案夾對不對。

我們進入etc檔案夾看一下

cd etc

那麼環境變數是在 /etc/environment下,我們ls一下

ls /etc/environment

列印出來 /etc/environment , 我們得知是一個一般檔案

我們用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

要瞭解這兩塊我們不得不去說一下GNU,去查一下GNU的翻譯

Bash和Coreutils是在GNU上開發的

GNU的官網: http://www.gun.org/

裡面有對於GNU Bash的介紹

下載一下bash

我們可以通過bash -version查看當前bash版本

怎麼辦bash移植到我們的系統裡面,不用命令怎麼手動移植,可以查看協助文檔


一定要理解GUN與Linux的關係





Shell命令機制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.