l表示該文件是一個鏈接文件。字母"l"是link(鏈接)的縮寫linux命令大全,類似于windows下的快捷方式
b的表示塊設備文件(block),一般置于/dev目錄下,設備文件是普通文件和程序訪問硬件設備的入口linux命令大全,是很特殊的文件。沒有文件大小,只有一個主設備號和一個輔設備號。一次傳輸數(shù)據(jù)為一整塊的被稱為塊設備,如硬盤、光盤等。最小數(shù)據(jù)傳輸單位為一個數(shù)據(jù)塊(通常一個數(shù)據(jù)塊的大小為512字節(jié))
c表示該文件是一個字符設備文件(character),一般置于/dev目錄下,一次傳輸一個字節(jié)的設備被稱為字符設備,如鍵盤、字符終端等,傳輸數(shù)據(jù)的最小單位為一個字節(jié)
p表示該文件為命令管道文件。與shell編程有關的文件
s表示該文件為sock文件。與shell編程有關的文件
鏈接文件分為硬鏈接或符號鏈接兩種。
硬鏈接:多個指向同一文件。硬鏈接文件大小完全相同,如有多個硬鏈接,所鏈接的文件只是一個文件大小。
同一個文件所有的文件都是等價的,操作系統(tǒng)不區(qū)分鏈接創(chuàng)建的先后順序,若一個文件存在兩個鏈接,那么除去一個文件還可以通過另外一個文件來訪問該文件,也可以除去創(chuàng)建鏈接時用到的文件,但只要還有一個鏈接存在,就可通過該連接訪問文件。
通常情況它的工作類似與unix系統(tǒng)上的符號鏈接,但是你一旦在一個svn branch里修改了一些文件,并且這些被修改的文件從拷貝過來的源文件獨立發(fā)展,就不能這么認為了。該參數(shù)可以創(chuàng)建目錄的軟鏈接(聯(lián)接),作用基本和符號鏈接類似[2],nt6系統(tǒng)的用戶目錄就是以這種形式存在的。不過需要時刻警惕的一點就是,在內(nèi)存中對于一個文件inode數(shù)據(jù)結構只有一個(符號鏈接會讓兩個inode指向同一個磁盤文件,但是文件鏈接和符號鏈接在內(nèi)存中的inode還是只有一個),每個進程打開的文件是用file數(shù)據(jù)結構進行表述的,file數(shù)據(jù)結構會與inode進行映射,也就是說,兩個進程分別打開了同一個文件,每個進程會有各自的file數(shù)據(jù)結構,但是這兩個file會指向同一個inode。