Linux命令格式與目錄處理命令ls

Linux命令格式與目錄處理命令ls

1  Linux命令格式

命令格式:命令 [-選項] [參數]

(1)選項:用來調整命令的功能,用以使得前面的命令根據需要得出不同的結果,展示不同的內容。

(2)參數:命令操作的對象,表示該命令是針對什麼操作的,可能是一個進程,一個用戶,一個文件甚至是一個目錄。

例:

[root@localhost ~]#ls -la /etc

說明:

1)個別命令使用不遵循此格式;選項和參數是可選的,例如ls命令可以不跟任何選項和參數也可以執行,但是有些命令後面是不可以省略選項和參數的,甚至有的命令需要帶多個選項、多個參數才能執行,即不遵循此格式。

2)當有多個選項時,可以寫在一起;例如:-la命令就是“-l -a”兩個命令合在一起寫的,並且絕大多數命令選項的先後順序是可以顛倒的(有些命令不可以)。

3)簡化選項與完整選項:例如:-a 等於 --all,Linux系統中習慣於用一個“-”來調用簡化選項(如-a),用兩個“--”來調用完整選項(如--all)。

2  目錄處理命令ls

命令名稱:ls

命令英文原意:list

命令所在路徑:/bin/ls

執行權限:所有用戶

功能描述:顯示目錄文件

語法:ls 選項[-ald] [文件或目錄]

應用示例:

[root@localhost ~]#ls

命令執行結果如圖1所示:

圖1  ls命令操作結果

示例說明:該命令後面沒有帶任何的選項和參數,表示顯示當前所在目錄下的文件(只有文件名,沒有其他詳細一點的信息)。一般情況下初始登錄後的所在位置都是用戶的家目錄,此處示例就表示root用戶的家目錄下的文件。

補充說明:圖1中所顯示的三個文件就是當前Linux的安裝日誌文件。

[root@localhost ~]#ls -a

命令執行結果如圖2所示:

圖2  ls -a命令操作結果

示例說明:顯示所有文件(只有文件名,沒有其他詳細一點的信息),包括隱藏文件(以“.”開頭的文件)。選項“a”表示“all”,即“所有”。

補充說明:在Linux系統中,以“.”開頭的文件就是隱藏文件,隱藏文件的設計初衷是爲了告訴用戶:這是一個系統文件,如果沒有特殊的要求,或者除非你確定需要操作它,否則不要亂動它。Linux系統中,要把一個文件進行隱藏,只需要更改文件名即可(即在文件名前面再加一個“.”)。

以上就是是查看當前目錄下的文件的操作命令示例,那麼如果需要查看其它目錄下的文件的話,可以直接在“ls”命令後面指定任何一個目錄來進行查詢。例如:

[root@localhost ~]#ls /

命令執行結果如圖3所示:

圖3  ls命令查看指定目錄下的文件信息

示例說明:查看根目錄下的文件。

上述示例展示的都只是查看文件的基本命令,從示例結果中我們可以看到,我們通過命令所能看到的只有文件的文件名,沒有其他任何的文件說明信息。下面就來介紹如何通過ls命令查看文件的更多相關信息。

[root@localhost ~]#ls -l

命令執行結果如圖4所示:

圖4  ls -l長格式顯示文件信息

示例說明:詳細信息顯示。選項“l”表示“long”,即“長格式”。長格式顯示的好處是比普通ls命令顯示結果多出了一些文件的屬性信息。

補充說明:從圖4中可以看到,每一個文件的信息顯示格式都被分成了7個部分。例如:

-rw-r--r--. 1root root  7572 6月  7 23:35 install.log.syslog

其中:

(1)第一部分:文件類型(第1個字符)+權限(後9個字符)。如上“-rw-r--r--”。

表示該文件的文件類型,以及Linux的三個用戶類分別對其擁有的操作權限。

具體說明如下:

1)第1字符表示文件類型:

“-”:二進制文件;

“d”:目錄;

“l”:軟鏈接文件。

補充:Linux系統中還有幾類不常見的系統特殊文件類型:字符設備文件、塊設備文件、套接字文件和管道符文件。

2)後9個字符分爲三個部分,分別對應不同的用戶類,且每個部分都標記相應的用戶類所擁有的權限。

rw-  r--   r--
u    g   o

(A)Linux系統中的三種權限類分別是:r 讀;w 寫;x執行。

說明:

a)對文件來說,執行權限x是它的最高權限,權限的分配原則是:夠用就好!也就是說只要夠使用,就不應該給最大的權限。所以通常情況下,文件的所有者可能也沒有對該文件的執行操作權限。

b)一般來說,對於文件,讀寫權限就足夠了,執行權限只有當我們需要讓這個文件運行的時候,比如說它是個命令,或者是個腳本,但是如果是個日誌,那就不需要執行權限了。

c)用戶類不擁有某種操作權限時,在該權限的顯示位置將會顯示一個“-”表示該用戶類沒有此項操作權限。

(B)Linux系統中每個文件把用戶分成了三類,分別表徵用戶和文件之間的關係:

第一類:u 所有者(user)  文件的創建者,只能有一個,但是可以變更。 

第二類:g 所屬組(group) 一個用戶集合,該集合內的用戶擁有相同的操作權限。

第三類:o 其他人(other) 既不是所有者,也不是所屬組的剩餘用戶類。

如上所示“rw-r--r--”中:

a)“rw-”表示該文件的所有者擁有對該文件的讀寫操作權限,沒有執行操作權限;

b)“r--”表示該文件的所屬組擁有對該文件的讀操作權限,沒有寫操作權限和執行操作權限;

c)“r--”表示其他人擁有對該文件的讀操作權限,沒有寫操作權限和執行操作權限;

(2)第二部分:引用計數。

代表該文件曾經被調用或者引用的次數。(引用計數對於文件和目錄來講,只在硬鏈接這裏纔有作用)

如上所示的數字“1”表示該文件被調用或引用了1次。

(3)第三部分:所有者(u)。

如上所示“root”表示該文件的所有者是root用戶。

(4)第四部分:所屬組(g)

如上所示“root”表示該文件的所屬組是root用戶組。

(5)第五部分:文件大小(默認單位是字節Byte)

如上所示“7572”,表示該文件的大小爲7572個字節。

可以看到,這種不帶單位的文件大小顯示方式是不太直觀的,那麼針對這個問題,Linux的操作命令還提供了一個“-h”選項,這是一個很多命令都支持的通用選項。“h”表示“human”,也就是“人性化顯示”。在顯示文件大小的時候會視實際情況附帶顯示諸如“K”、“M”、“G”等等的單位信息。例如:

[root@localhost ~]#ls -lh

命令執行結果如圖5所示:

圖5  ls -lh命令操作結果

(6)第六部分:該文件最後一次被修改的時間

如上所示“6月   7 23:35”表示該文件最後一次被修改的時間爲6月7日的晚上11點35分。

補充說明:在Linux系統中本身是沒有“創建時間”這個概念的。但是有文件的訪問時間,即“文件的最後一次訪問時間”、“文件的狀態修改時間”和“文件的數據修改時間”。但是如果一個文件從創建以來就沒有被修改過,那麼這裏顯示的實際上就是該文件的創建時間。

(7)第七部分:文件名

如上所示的文件名爲“install.log.syslog”。

再來看看ls命令的最後一個選項“-d”。首先舉一個例子,比如說我想查看某一個目錄的詳細信息,那麼如果我通過如下命令進行查看將會得到一個什麼樣的顯示結果:

[root@localhost ~]#ls -l /etc

命令執行結果如圖6所示:

圖6  ls –l命令查看指定目錄下的文件詳細信息

可以看到,僅僅只是通過長格式選項顯示的結果中顯示卻是指定目錄下的很多很多的文件詳細信息,而非目錄本身的詳細信息。那麼要查看指定目錄本身的詳細信息,我們就要用到“-d”選項了,這個選項一般是跟“-l”選項結合起來使用的。例如:

[root@localhost ~]#ls -ld /etc

命令執行結果如圖7所示:

圖7  ls -ld命令操作結果

示例說明:查看目錄屬性。選項“d”表示“directory”,即“目錄”。顯示當前目錄本身的詳細信息,而不顯示目錄下的信息。

補充知識:i節點(inode)

類似於索引id,用於唯一標誌某個文件,相當於索引號。可以通過“ls -i”命令行後面跟文件名或者目錄來查看指定文件或者指定目錄下的文件的i節點。例如:

[root@localhost ~]#ls -i
[root@localhost ~]#ls -i /
[root@localhost ~]#ls -i /etc/issue

命令執行結果如圖8所示:

圖8  查看i節點信息

示例說明:查看當前目錄下的文件的i節點、根目錄下的文件的i節點,以及指定文件的i節點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章