天天看點

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

在 Linux 作業系統中,凡是在字元操作界面中輸入能夠完成特定操作和任務的字元串都可以稱為指令。嚴格來說,指令通常隻代表實作某一類功能的指令或程式的名稱。

Linux 指令的執行必須依賴于 Shell 指令解釋器。Shell 實際上是在 Linux 作業系統中運作的一種特殊程式,它位于作業系統核心與使用者之間,負責接收使用者輸入的指令并進行解釋, 将需要執行的操作傳遞給系統核心執行,Shell 在使用者和核心之間充當了“翻譯官”的角色。當使用者登入到 Linux 系統時,會自動加載一個 Shell 程式,以便給使用者提供可以輸入指令的作業系統。

Bash 是 Linux 作業系統中預設使用的 Shell 程式,檔案位于/bin/bash。根據 Linux 指令與 Shell 程式的關系,Linux 指令一般分為以下兩種類型。

1、 内部指令:是指內建于 Shell 解釋器程式(如 Bash)内部的一些特殊指令,也稱為内建(Built-in)指令。内部指令屬于 Shell 的一部分,是以沒有單獨對應的系統檔案,隻要 Shell 解釋器被運作,内部指令也就自動載入記憶體了,使用者可以直接使用。内部指令無須從硬碟中重新讀取檔案,是以執行效率較高。

2、外部指令:是指 Linux 作業系統中能夠完成特定功能的腳本檔案或二進制程式,每個外部指令對應系統中的一個檔案,是屬于 Shell 解釋器程式之外的指令,是以稱為外部指令。Linux 作業系統必須知道外部指令對應的檔案位置,才能夠由 Shell 加載并執行。

Linux 作業系統預設會将存放外部指令、程式的目錄(如/bin、/usr/bin、/usr/local/bin 等)添加到使用者的“搜尋路徑”中,當使用位于這些目錄中的外部指令時,使用者不需要指定具體的位置。是以在大多數情況下,不用刻意去分辨内部指令和外部指令,其使用方法是基本類似的。

在使用内部指令或外部指令時,參照一個通用的指令行使用格式,可友善了解 Linux 指令的作用和工作方式。通用的指令行使用格式如下:

指令字 [選項] [參數]

其中,指令字、選項、參數之間用空格分開,多餘的空格将被忽略。[ ]括起來的部分表示可以省略,即指令行可以隻有指令字,也可以隻有指令字、選項,或者隻有指令字、參數。 下面分别介紹這三個組成部分的含義和作用。

指令字即指令名稱,是整條指令中最關鍵的一部分。在 Linux 的字元操作界面中,使用指令字唯一确定一條指令,是以在輸入指令時一定要確定輸入的指令字正确。并且,在 Linux 的指令環境中,無論是指令名還是檔案名,對英文字元的處理是區分大小寫的,操作時需要 細心。

選項的作用是調節指令的具體功能,決定這條指令如何執行。同一個指令字配合不同的 選項使用時,可以獲得相似但具有細微差别的功能。指令使用的選項有如下一些特性。

(1)不同的指令字能夠使用的選項也會不同(選項的個數和内容)。

(2) 選項的數量可以是多個,也可以省略。同時使用多個選項時,選項之間使用空格分 隔。若不使用選項,将執行指令字的預設功能。

(3) 使用單個字元的選項時,一般在選項前使用 “-” 符号(半角的減号符)引導,稱為短 格式選項,如 “-l” 。多個單字元選項可以組合在一起使用,如 “-al” 等同于 “-a -l” 。

(4) 使用多個字元的選項時,一般在選項前使用 “--” 符号(兩個半角的減号符)引導, 稱為長格式選項,如 “--help”** 。

有些指令字對于同一功能會同時提供長、短兩種格式的選項。長格式的選項意義明确, 容易記憶,而短格式的選項結構簡單、輸入快捷。兩種格式可以混用。

指令參數是指令字的處理對象,通常情況下指令參數可以是檔案名、目錄(路徑)名 或使用者名等内容。根據所使用指令字的不同,指令參數的個數可以是零到多個。在輸 入一條 Linux 指令時,應根據該指令字具體的格式提供對應的指令參數,以確定指令的正常運作。

注意:在實際使用 Linux 指令行的過程中,“選項”和“參數”的稱謂經常混淆,甚至前後順序也允許颠倒,但一般不會影響指令的執行效果,是以很多時候并不做嚴格區分。

在按照上述格式輸入一條 Linux 指令後,按 Enter 鍵表示輸入結束并送出給系統執行。

在沒有按 Enter 鍵之前,指令行中的字元内容都處于編輯狀态,可以進行任意編輯修改。編輯 Linux 指令行時,可以使用以下幾個輔助操作,以提高輸入效率。

Tab 鍵:可以将輸入的不完整指令字或檔案、目錄名自動補齊,如輸入“ifcon”後按Tab 鍵,即可自動補齊為“ifconfig”指令字。該功能隻能向後補齊,且必須以已輸入的部分字元開頭,能夠唯一定位一個指令字或檔案、目錄名,否則可按兩次 Tab 鍵,系統将輸出可用的名稱清單。

(1)反斜杠 “\” :如果輸入的一行指令内容太長,終端會自動換行。有時候為了顯示美觀 及友善檢視,也可以插入 “\” 符号強制換行,在下一行出現的“>”提示符後可以繼續輸入内容,作為上一行指令的延續。

(2) Ctrl+U 組合鍵:快速删除目前光标處之前的所有字元内容。

(3) Ctrl+K 組合鍵:快速删除從目前光标處到行尾的所有字元内容。

(4) Ctrl+L 組合鍵:快速清空目前螢幕中的顯示内容,隻在左上角顯示指令提示符。

(5) Ctrl+C 組合鍵:取消目前指令行的編輯,并切換為新的一行指令提示符。

從下面開始,将逐漸接觸到更多的指令行應用執行個體。大家可以結合各個指令的具體用法 來熟悉 Linux 指令行的基本格式及相關快捷操作。

Linux 指令行的通用格式有助于在學習指令的過程中舉一反三,了解使用大多數指令的基本方法。Linux 作業系統中能夠使用的指令數量繁多,具體選項也各不相同,使用格式也可能存在細微差別。教材中介紹的内容畢竟有限,對于 Linux 指令的更多詳細選項及具體使用格式,除了查閱書本、手冊和上網查詢之外,最簡單、快速的方法是使用指令的線上幫助 功能。下面介紹幾種常用的使用線上幫助的方法。

help 指令本身是 Linux Shell 中的一個内建指令,其用途是檢視各 Shell 内部指令的幫助資訊。使用 help 指令時,隻需要添加内部指令的名稱作為參數即可。例如,執行“help pwd” 指令可以檢視 Shell 内部指令 pwd 的幫助資訊(pwd 指令用于顯示目前使用者所在的工作目錄),具體操作如下:

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

對于大多數 Linux 外部指令,可以使用一個通用的指令選項“--help”來顯示對應指令字的格式及選項等幫助資訊。若該指令字沒有“--help”選項,一般隻會提示簡單的指令格式。例如,執行“ls --help”指令可以檢視 ls 指令的幫助資訊(ls 指令用于顯示檔案或目錄清單資訊),具體操作如下:

//用法:ls [選項] … [檔案] …

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

手冊頁(Manual Page)是 Linux 作業系統中最為常用的一種線上幫助形式,絕大部分的外部軟體在安裝時為執行程式、配置檔案提供了詳細的幫助手冊頁。這些手冊頁中的資訊按照特定的格式進行組織,通過統一的手冊頁浏覽程式 man 進行閱讀。例如,執行“man file”指令可以檢視 file 指令的手冊頁資訊(file 指令用于判斷檔案的類型),具體操作如下:

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

在閱讀 man 手冊頁時将以全屏的文本方式顯示,并且提供了互動式的操作環境。按↑、↓方向鍵可以向上、向下滾動一行文本内容;按 Page Up 鍵和 Page Down 鍵可以向上、向下翻頁顯示;按 Q 鍵或 q 鍵可以随時退出手冊頁的閱讀環境;按/鍵後可以對手冊内容進行查找,如輸入“/-v”可以查找到“-v”選項的幫助資訊,若找到的結果有多個,還可以按 n 鍵或N 鍵分别向下、向上進行定位選擇。

檔案和目錄管理是 Linux 作業系統運作維護的基礎工作,本節将通過豐富的指令執行個體, 講解管理 Linux 作業系統中的檔案、目錄的相關操作。

Linux 中檢視目錄的常用指令有 pwd、cd、ls 和 du 指令。這些指令都是對檔案目錄進行操作,但各自實作的功能略有不同。

pwd 指令用于顯示使用者目前所在的工作目錄位置,工作目錄是使用者操作檔案或其他子目錄的預設位置起點。使用 pwd 指令可以不添加任何選項或參數。例如,root 使用者在/root 目錄中執行 pwd 指令時若輸出資訊為“/root”,則表示目前的工作目錄位于/root,具體操作如下:

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

cd 指令用于将使用者的工作目錄更改到其他位置,通常使用需要切換到的目标位置(檔案夾路徑)作為參數。若不指定目标位置,預設将切換到目前使用者的宿主目錄(家目錄),宿主目錄是 Linux 使用者登入系統後預設的工作目錄。例如,以下操作将把工作目錄更改為

/boot/grub,并執行 pwd 指令确認目前所處位置。

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

切換工作目錄-cd

将使用者的工作目錄更改到其他位置

格式

說明

cd 目标位置

切換到目标位置

cd ~ 或者 cd

若不指定目标位置,切換到目前使用者的宿主目錄

cd -

切換到上一次執行cd指令之前所在的目錄

在 Linux 作業系統中表示某個目錄(或檔案)的位置時,根據其參照的起始目錄不同, 可以使用兩種不同的形式,分别稱為絕對路徑和相對路徑。

(1)絕對路徑:這種方式以根目錄“/”作為起點,如“/boot/grub”表示根目錄下 boot 子目錄中的 grub 目錄。若要确切表明 grub 是一個目錄(而不是一個檔案),可以在最後也加上一個目錄分隔符,如表示為“/boot/grub/”。因為 Linux 作業系統中的根目錄隻有一個,是以不管目前處于哪個目錄中,使用絕對路徑都可以非常準确地表示一個目錄(或檔案)所在的位置。但是如果路徑較長,輸入的時候會比較煩瑣。

(2)相對路徑:這種方式一般以目前工作目錄作為起點,在開頭不使用“/”符号,是以使用的時候更加簡短、便捷。相對路徑主要包括如下幾種形式:

長相對路徑的表現形式

表現形式

示例

直接使用目錄名或檔案名

表示目前工作目錄中的子目錄、檔案的位置

grub.conf

以一個點号“.”開頭

表示以目前的工作目錄作為起點

./grub.conf

以兩個點号“..”開頭

表示以目前目錄的上一級目錄(父目錄)作為起點

../vmlinuz

以“~使用者名”形式開頭

表示以指定使用者的宿主目錄作為起點

~teacher

以“~”形式開頭

表示以目前使用者的宿主目錄作為起點

~

ls 指令主要用于顯示目錄中的内容,包括子目錄和檔案的相關屬性資訊等。使用的參數可以是目錄名,也可以是檔案名,允許在同一條指令中同時使用多個參數。

ls 指令可以使用的選項種類非常多,這裡隻列出幾個最常用的選項以供參考。

(1) -l :以長格式(Long)顯示檔案和目錄的清單,包括權限、大小、最後更新時間等 詳細資訊。不使用-l 選項時,ls 指令預設以短格式顯示目錄名或檔案名資訊。

(2) -a :顯示所有(All)子目錄和檔案的資訊,包括名稱以點号“.”開頭的隐藏目錄和隐藏檔案。

(3) -A :與 -a 選項的作用基本類似,但有兩個特殊隐藏目錄不會顯示,即表示目前目錄的“.”和表示父目錄的“..”。

(4) -d :顯示目錄(Directory)本身的屬性,而不是顯示目錄中的内容。

(5) -h :以更人性化(Human)的方式顯示目錄或檔案的大小,預設的大小機關為位元組(B),使用 -h 選項後将顯示為 KB、MB 等機關。此選項需要結合 -l 選項一起使用。

(6) -R :以遞歸(Recursive)的方式顯示指定目錄及其子目錄中的所有内容。

(7) --color :在字元模式中以顔色區分不同的檔案,如果使用“--color=tty”,則表示使用終端預定義的顔色方案。通常情況下,深藍色表示目錄,白色表示一般檔案,綠色表示可執行的檔案,黃色表示裝置檔案,紅色表示壓縮檔案,天藍色表示超連結。

執行不帶任何選項、參數的 ls 指令,可顯示目前目錄中包含的子目錄、檔案清單資訊

(不包括隐藏目錄、檔案),如以下操作:

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

執行“ls -ld”指令可以隻顯示目前目錄的詳細屬性,而不顯示目錄下的内容,如以下操作:

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

使用 ls 指令時,還可以結合通配符“?”或“”以提高指令編寫效率。其中,問号“?”可以比對檔案名中的一個未知字元,而星号“”可以比對檔案名中的任意多個字元。這兩個通配符同樣也适用于 Shell 環境中的其他指令。例如,以下操作将以長格式列出/etc/目錄下以“ns” 開頭、“.conf”結尾的檔案資訊。

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

用 ls -l 指令檢視某一個目錄會得到一個7個字段的清單 -rw-r--r--. 1 root root 1350 11月 16 2011 splash.xpm.gz

第1字段:檔案屬性字第一個字元代表檔案的類型: "-" 表示該檔案是一個普通檔案 "d” 表示該檔案是一個目錄

"l" 表示該檔案是一個軟連結檔案。類似于windows下的快捷方式第1字元的後面9個字母表示該檔案或目錄的權限位:

r表示讀(檢視、下載下傳)、w表示寫(添加、更改、删除、上傳)、x表示執行(運作檔案、切換目錄)

其中前三個表示檔案擁有者(屬主)的權限,中間三個表示檔案所屬組擁有的權限,最後三個表示其他使用者擁有的權限。

第2字段:檔案硬連結數

如果一個檔案不是目錄,此時這一字段表示這個檔案所具有的硬連結數如果是一個目錄,則第2字段表示該目錄所含子目錄的個數。

如果建立一個空目錄,這個目錄的第二字段就是2,表示該目錄下有兩個子目錄。

第3字段:檔案\目錄擁有者

第4字段:檔案\目錄擁有者所在的組

第5字段:檔案所占用的空間(預設以位元組為機關)

如果是一個目錄,則表示該目錄的大小,而不是目錄以及它下面的檔案的總大小。Linux系統中一切皆檔案,是以目錄也是一種檔案。

第6字段:檔案\目錄最近通路或修改時間

第7字段:檔案名

如果是一個符号連結(軟連結檔案),那麼會有一個"->”箭頭符号,後面根一個它指向的檔案名

du 指令可用于統計指定目錄(或檔案)所占用磁盤空間的大小,使用目錄或檔案的名稱作為參數。du 指令常用的幾個選項如下。

(1) -a :統計磁盤空間占用時包括所有的檔案,而不僅僅隻統計目錄。

(2) -h :以更人性化的方式(預設以 KB 計數,但不顯示機關)顯示出統計結果,使用

-h 選項後将顯示出 KB、MB 等機關。

(3) -s :隻統計每個參數所占用空間總的(Summary)大小,而不是統計每個子目錄、 檔案的大小。

(4) --max-depth=n : 統計所有小于等于第n層的目錄的總大小

///選項-a和-s不可同時使用

如果需要統計一個檔案夾内所有檔案總共占用的空間大小,可以結合“-sh”選項,将要統計的目錄作為參數。

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

alias指令别名='指令' //“=”兩邊不能有空格

●設定viens33為vi /etc/sysconfig/network-scripts/ifcfg-ens33的别名

viens33='vi /etc/sysconfig/network-scripts/ifcfg-ens33' //别名viens33

取消别名

unalias 指令别名

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

注:隻在目前的shell中生效

Linux 中,mkdir、touch、ln 指令分别用于建立目錄和檔案。

mkdir 指令用于建立新的空目錄,使用要建立的目錄位置作為參數(可以有多個)。

mkdir [選項] 目錄位置及名稱...

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

●建立目錄/aa,在laa目錄下建立子目錄bb,在laa/bb目錄下建立子目錄cc,在laa/bb/cc目錄下建立子目錄dd

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

touch 指令本來用于更新檔案的時間标記,但在實際使用中經常用于建立新的測試檔案。該指令使用檔案名作為參數,可以同時建立多個檔案。當目标檔案已存在時,将更新該檔案 的時間标記,否則将建立指定名稱的空檔案。

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

ln 指令用于為檔案或目錄建立連結檔案(類似于 Windows 系統中的快捷方式),提高使用者定位檔案或定位目錄的效率。連結檔案包括軟連結和硬連結兩種類型,其中軟連結又稱 為符号連結。無論是通路軟連結還是硬連結,與直接通路原始檔案的效果基本相同。

軟連結與硬連結的差別主要在于,删除原始檔案後,軟連結将失效,但硬連結仍然可用; 軟連結适用于檔案或目錄,但硬連結隻可用于檔案,不能為目錄建立硬連結;軟連結與原始檔案可以位于不同的檔案系統中,但硬連結必須與原始檔案在同一個檔案系統(如一個Linux 分區)内。

使用 ln 指令時,預設建立的是硬連結。如果需要建立軟連結,必須結合“-s”選項明确指定。ln 指令的基本使用格式如下:

ln [-s] 源檔案或目錄… 連結檔案或目标位置

當目标位置是一個已經存在的目錄時,新建立的連結檔案将儲存到該目錄中,并使用與 源檔案或目錄相同的名稱。

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

當軟連結的檔案或者路徑發生更改的時候,軟連結會發生失效,是以在這種情況下,建立軟連結的時候最好是舒服絕對路徑,這樣,檔案或者路徑發生變更的時候軟連結依然有效!

Linux 部分基礎指令概述(一)Linux 部分基礎指令概述(一)1.2 目錄和檔案基本操作

繼續閱讀