ls l檢視乙個檔案的輸出資訊講解

2021-09-14 07:07:14 字數 2413 閱讀 1430

首先給出一張典型的顯示結果:

下面對其中的每一列進行詳細的分析:

表示該檔案的型別:

「-」表示普通檔案;

「d」表示目錄;

「l」表示鏈結檔案;

「p」表示管道檔案;

「b」表示塊裝置檔案;

「c」表示字元裝置檔案;

「s」表示套接字檔案;

以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檔案,其建立者/所有者具有可讀可寫可執行的許可權,其建立者/所有者所在的組的其他使用者具有可讀可寫可執行的許可權,其他組的其他使用者則具有可讀可執行但不可寫的許可權。

對於目錄檔案,表示它的第一級子目錄的個數。注意此處看到的值要減2才等於該目錄下的子目錄的實際個數。

比如這裡的include目錄下,其實是沒有子目錄的,所以應該是0,但是它這裡卻顯示2,這是因為要加上.目錄和..目錄。在linux下,.目錄表示當前目錄,..目錄表示上一級目錄。

這也可以解釋上圖中第一行的.目錄下的3和第二行..目錄下的26。因為當前目錄下有乙個include目錄,所以加上.目錄和..目錄這2個目錄就等於3,所以第一行會顯示3。而上一級目錄共有24個目錄,加上上一級目錄的.目錄和..目錄這2個目錄,所以這裡的第二行顯示的是26。

對於其他檔案,表示指向它的鏈結檔案的個數。

表示該檔案的所有者/建立者(owner)及其所在的組(group)。

如果是檔案,則表示該檔案的大小,單位為位元組。

如果是目錄,則表示該目錄符所佔的大小,並不表示該目錄下所有檔案的大小。

該檔案最後修改的日期時間。

檔名,無需多說。

在大多數的linux shell視窗中,還能用顏色來區分不同檔案的屬性:

灰白色表示普通檔案;

亮綠色表示可執行檔案;

亮紅色表示壓縮檔案;

灰藍色表示目錄;

亮藍色表示鏈結檔案;

亮黃色表示裝置檔案;

當然,這裡需要使用系統預設的配色方案。如果你自定義了shell的配色方案,則有可能與上面的定義不一致。

最後還要說明一點的是,可以看到上述的中,back_init檔案的後面還帶了乙個星號(*),這也是linux系統下用於標記可執行檔案的另外一種方式。也就是說,凡是檔名後面帶了乙個星號(*)的,都是在說明這是乙個可執行檔案。

原文:

第29講 檔案 乙個任務

答案 def file write file name f open file name,w print 請輸入內容 單獨輸入 w 儲存退出 while true write some input if write some w f.write s n write some else break f...

C 獲取乙個檔案的相關資訊

system.io.path.getextension path changeextension 更改路徑字串的副檔名。combine 合併兩個路徑字串。getdirectoryname 返回指定路徑字串的目錄資訊。getextension 返回指定的路徑字串的副檔名。getfilename 返回指...

perl輸出資訊到另乙個程式

perlcookbook第二版16.4一節中,關與管道的用法,在這裡寫了乙個自己的寫程式。將程式的輸出給另乙個程式,以供另乙個程式使用的小例子。僅供參考 main.pl usr bin perl w default files etc hosts if argv 0 default files ar...