linux指令可分為2類:1、內(nèi)部命令,指shell內(nèi)部集成的命令,此類命令無需人為安裝,開機后自動運行在內(nèi)存中,例如cd、type、echo、time、true等;2、外部命令,指通過外部介質(zhì)安裝的命令工具包,如通過yum、rpm等方式。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
Linux是一款文本式驅(qū)動的操作系統(tǒng),優(yōu)點就是在于可以進行命令界面操作。相比圖形界面來說,命令界面可以節(jié)省大量的物理內(nèi)存空間并且可以避免在圖形界面下出現(xiàn)的密密麻麻的列表;同時在命令界面可以完成相當復雜的運算。當然我們也可以把圖形界面理解成命令行的圖形運算外殼。
Linux命令行的重要作用
??相比圖形界面,Linux命令行才是Linux系統(tǒng)的真正核心,利用命令行可以對系統(tǒng)進行各種配置,要熟練并成功管理Linux操作系統(tǒng)就必須對Linux命令行有深入的了解。Linux下的命令行有助于初學者了解系統(tǒng)的運行情況和計算機的各種設備。比如:中央處理器、內(nèi)存、磁盤驅(qū)動、各種輸入和輸出設備以及用戶文件,都是在Linux系統(tǒng)管理命令下運行的??梢哉fLinux命令行對整個系統(tǒng)的運行以及設備與文件之間的協(xié)調(diào)都具有核心的作用。
? 雖然近些年個人計算機的潮流已經(jīng)從命令行轉(zhuǎn)向了圖形界面方向,用戶也熱衷于圖形界面的應用,但是在服務器應用與高級別使用上Linux命令行依然是核心應用。這取決于在字符界面下的操作具有更好的穩(wěn)定性與安全性。
??綜上所述,不論是Linux的初學者還是一個正宗的Linux老鳥,Linux命令行都是必不可少的系統(tǒng)管理利器。需要記住的是命令行不是單純的一段命令,它是一種工具,它也需要安裝。
命令(指令)的分類
Linux命令分為兩類,具體為內(nèi)部命令和外部命令
-
內(nèi)部命令:指shell內(nèi)部集成的命令,此類命令無需人為安裝,開機后自動運行在內(nèi)存中,使用命令help查看所有內(nèi)部命令的詳情,如cd、type、echo、time、true等。
-
外部命令:指通過外部介質(zhì)安裝的命令工具包,如通過yum、rpm等方式安裝,具體安裝路徑在$PATH下。
?注:所有的內(nèi)部命令在外部命令中都有存在,只是為了提高優(yōu)先級而在shell中集成一部分
命令查看: type查看命令分類,內(nèi)部命令顯示 shell相關(guān)信息,外部命令則顯示$PATH路徑
[root@localhost ~]# type time time is a shell keyword [root@localhost ~]# type date date is /bin/date
內(nèi)部命令與外部命令的產(chǎn)生和區(qū)別
-
CentOs7 的shell是bash;在Linux使用時有一些命令的使用頻率較高,若是總是從硬盤數(shù)據(jù)中讀取比較浪費時間且占用資源。所以bash把這些使用頻率高的命令集成到shell 當中,加快調(diào)用,稱為內(nèi)建命令。
-
所以內(nèi)建命令在就是為了加快外部命令調(diào)用而在shell中的備份。即每個內(nèi)建命令都在外部命令(硬盤上)存在的有。
二者區(qū)別:
-
內(nèi)部命令在系統(tǒng)啟動時就調(diào)入內(nèi)存,是常駐內(nèi)存的,所以執(zhí)行效率高。
-
外部命令是系統(tǒng)的軟件功能,用戶需要時才從硬盤中讀入內(nèi)存。
命令執(zhí)行順序
單命令執(zhí)行順序
alias->shell>hash>PATH
多命令執(zhí)行順序
??Linux多命令順序執(zhí)行連接符(; || && |) 當我們需要一次執(zhí)行多個命令的時候,命令之間需要用連接符連接,不同的連接符有不同的效果。下面我們總結(jié)一下,加以區(qū)分。
(1) ;
分號,沒有任何邏輯關(guān)系的連接符。當多個命令用分號連接時,各命令之間的執(zhí)行成功與否彼此沒有任何影響,都會一條一條執(zhí)行下去。
(2) ||
邏輯或,當用此連接符連接多個命令時,前面的命令執(zhí)行成功,則后面的命令不會執(zhí)行。前面的命令執(zhí)行失敗,后面的命令才會執(zhí)行。
(3) &&
邏輯與,當用此連接符連接多個命令時,前面的命令執(zhí)行成功,才會執(zhí)行后面的命令,前面的命令執(zhí)行失敗,后面的命令不會執(zhí)行,與 || 正好相反。
(4) |
管道符,當用此連接符連接多個命令時,前面命令執(zhí)行的正確輸出,會交給后面的命令繼續(xù)處理。若前面的命令執(zhí)行失敗,則會報錯,若后面的命令無法處理前面命令的輸出,也會報錯。
例
ls | grep *.txt
命令優(yōu)先級
alias>shell內(nèi)建>hash>外部路徑