在linux下使用「ls -l」或者「ls -al」或者「ll」命令查看文件及目錄詳情時,shell中會顯示出好幾列的信息。平時也沒怎麼注意過,今天突然心血來潮想了解一下,因而整理了這篇博客,以供參考:linux
首先給出一張典型的顯示結果:
下面對其中的每一列進行詳細的分析:shell
1、文件類型
表示該文件的類型:字體
「-」表示普通文件;
「d」表示目錄;
「l」表示連接文件;
「p」表示管理文件;
「b」表示塊設備文件;
「c」表示字符設備文件;
「s」表示套接字文件;
2、文件屬性
以back_init文件爲例,其屬性可分爲三段:[rwx][rwx][r-x],其中:圖片
第一段表示文件建立者/全部者對該文件所具備的權限,第二段表示建立者/全部者所在的組的其餘用戶所具備的權限,第三段表示其餘組的其餘用戶所具備的權限。資源
r(Read,讀取權限):對文件而言,具備讀取文件內容的權限;對目錄來講,具備瀏覽目錄的權限。
w(Write,寫入權限):對文件而言,具備新增、修改文件內容的權限;對目錄來講,具備刪除、移動目錄內文件的權限。
x(eXecute,執行權限):對文件而言,具備執行文件的權限;對目錄來講,該用戶具備進入目錄的權限。
另外,這裏還有2個很特殊的屬性,平時不怎麼常見,這裏也順帶解釋一下:博客
s或S(SUID,Set UID):可執行的文件搭配這個權限,便能獲得特權,任意存取該文件的全部者能使用的所有系統資源。請注意具有SUID權限的文件,黑客常常利用這種權限,以SUID配上root賬號擁有者,無聲無息地在系統中開扇後門,供往後進出使用。
t或T(Sticky):/tmp和 /var/tmp目錄供全部用戶暫時存取文件,亦即每位用戶皆擁有完整的權限進入該目錄,去瀏覽、刪除和移動文件。
綜合起來可得,對於back_init文件,其建立者/全部者具備可讀可寫可執行的權限,其建立者/全部者所在的組的其餘用戶具備可讀可寫可執行的權限,其餘組的其餘用戶則具備可讀可執行但不可寫的權限。it
3、目錄/連接個數權限
對於目錄文件,表示它的第一級子目錄的個數。注意此處看到的值要減2纔等於該目錄下的子目錄的實際個數。黑客
好比這裏的include目錄下,實際上是沒有子目錄的,因此應該是0,可是它這裏卻顯示2,這是由於要加上.目錄和..目錄。在linux下,.目錄表示當前目錄,..目錄表示上一級目錄。移動
這也能夠解釋上圖中第一行的.目錄下的3和第二行..目錄下的26。由於當前目錄下有一個include目錄,因此加上.目錄和..目錄這2個目錄就等於3,因此第一行會顯示3。而上一級目錄共有24個目錄,加上上一級目錄的.目錄和..目錄這2個目錄,因此這裏的第二行顯示的是26。
對於其餘文件,表示指向它的連接文件的個數。
4、全部者及組
表示該文件的全部者/建立者(owner)及其所在的組(group)。
5、文件大小
若是是文件,則表示該文件的大小,單位爲字節。
若是是目錄,則表示該目錄符所佔的大小,並不表示該目錄下全部文件的大小。
6、修改日期
該文件最後修改的日期時間。
7、文件名稱
文件名,無需多說。
8、字體顏色
在大多數的linux shell窗口中,還能用顏色來區分不一樣文件的屬性:
灰白色表示普通文件;
亮綠色表示可執行文件;
亮紅色表示壓縮文件;
灰藍色表示目錄;
亮藍色表示連接文件;
亮黃色表示設備文件;
固然,這裏須要使用系統缺省的配色方案。若是你自定義了shell的配色方案,則有可能與上面的定義不一致。
最後還要說明一點的是,能夠看到上述的圖片中,back_init文件的後面還帶了一個星號(*),這也是linux系統下用於標記可執行文件的另一種方式。也就是說,凡是文件名後面帶了一個星號(*)的,都是在說明這是一個可執行文件。