文件類型(共7種):
– :普通文件
d:目錄文件 (directory)
c:字符設備文件 (char)
b:塊設備文件 (block)
s:本地域套接口 (socket)
p:有名管道 (pipeline)
l:符號連接 (link)
關于硬鏈接、軟連接、復制之間的區別說明:
上圖中,我為photo.png這個圖片文件建立了一個拷貝(photo-copy.png),一個硬鏈接(photo-hlink),一個軟連接(photo-slink),用ls -il命令顯示出他們的文件信息,下面我就進行下對比說明:
先對比復制版和硬鏈接(圖中第一行和第二行)
可以看出兩者的區別只在我畫黃框的地方,這個黃框中的內容是iNode,通過和原文件photo.png對比,可以看出,硬鏈接photo-link和原文件的iNode相同,而復制版photo-copy.png與原文件iNode不同。這里的區別導致的現象是當你修改原文件時,photo-copy.png的內容不會發生改變,而photo-hlink會與原文件同時變化,反過來也是一樣,修改photo-hlink原文件也會發生變化,而photo-copy.png不會改變。也就是說,原文件和photo-hlink還是同一個文件,而photo-copy.png已經是另一個文件了。還有一點區別在于,拷貝可以跨文件系統,而硬鏈接只能在一個文件系統內。
再對比下硬鏈接和軟連接(圖中第二行和第四行)
軟連接更像windows里的快捷方式,可以看到黃框中,軟連接和原文件的iNode的也不同,再看綠框中的內容,這列代表文件類型,軟連接的文件類型是一個link類型,而硬鏈接的類型還是普通文件類型,再看紅框中的內容,這列表示文件大小,可以看到軟連接的文件大小只有9字節,說明它并不是一個文件的拷貝版本,而只是一個引用而已。軟連接和硬鏈接都能啟動并編輯程序,區別在于刪除部分,刪除原文件后,硬鏈接仍然可用,但軟連接已經失效了。
總結:
拷貝:和我們正常理解的拷貝沒有區別,與原文件大小相同,iNode是一份獨立的文件,可以跨文件系統,原文件修改或刪除對其都沒有影響。
硬鏈接:也是一種拷貝,與原文件大小相同,但iNode與原文件相同,不可以跨文件系統,原文件內容修改,硬鏈接跟隨會有相同的修改,原文件刪除,硬鏈接仍然可用。
軟連接:是一種應用,類似與windows的快捷方式,文件類型為l,大小很小,iNode與原文件不相同,可以跨文件系統,當原文件刪除時,軟連接將失效。
終端中文件的顏色:
藍色:目錄綠色:可執行文件;紅色:壓縮文件;淺藍色:鏈接文件;灰色:其他文件;紅色閃爍:鏈接的文件有問題了黃色:設備文件。紫色:圖片文件。
原創文章,作者:yangtian,如若轉載,請注明出處:http://www.www58058.com/52278