linux/mac系統的軟鏈接文件與硬鏈接文件


1、硬連接只能使用在文件上,不可以使用在文件夾上。至於文件前面的硬鏈接數字的含義如下:

如圖標注區,為硬連接的數量,文件前的數字1表示沒有硬鏈接。文件夾前面的數字至少是2,含義是這個文件夾是空文件夾,當數字大於2時,比如為n>2,則表示這個文件夾下面有個n-2個子文件和文件夾的和;因此從文件夾前面的這個數字可以知道文件夾下面到底有多少文件和文件夾(一個文件夾算做1,一個文件算作1)。至於文件夾的硬連接數為什么最小是2,有個解釋是,每個文件夾下面都有兩個默認的路徑'.'和'..' ----- 其中一個點表示當前路徑,兩個點表示上個目錄

 

 

  • 軟鏈接文件:

特征:
1.其只是一個符號鏈接,相當於Windows的快捷方式
2.軟鏈接的權限不決定原文件的權限
3.其文件的所有者,所屬組,其他人的權限全部為rwx,即“lrwxrwxrwx”,l表示該文件為鏈接文件,以此來區分軟鏈接 -- 這一條在mac下是lrwxr-xr-x
4.文件大小很小,因為其只是一個符號鏈接
5.生成的軟鏈接文件的命名規則:/tmp/issue.soft -> /etc/issue 箭頭指向原文件

6.軟鏈接記錄的是一個文件路徑

  • 硬鏈接文件:

特征:
1.硬鏈接的來源相當於“拷貝cp -p+同步更新”原文件
2.我們可以通過ls -i來獲取文件的ID,硬鏈接文件與原文件的ID是一樣的,以此來區分硬鏈接
3.硬鏈接不能針對目錄使用

如果把原文件刪除,關於讀文件,軟鏈接文件就無法正常打開,但硬鏈接文件可正常訪問。關於寫文件,硬連接當然可以寫,軟鏈接文件也可以寫,但是會新建一個文件,文件名字和原來的相同,但是inode值和原來的不同

 

ls 結果的最左邊一列,是文件的 inode 值,你可以簡單把它想成 C 語言中的指針。它指向了物理硬盤的一個區塊,事實上文件系統會維護一個引用計數,只要有文件指向這個區塊,它就不會從硬盤上消失

 

硬鏈接文件顯示跟原來文件一樣大小1.6G,軟鏈接文件才27個字節;

找出一個文件的所有硬鏈接

ls -i查找文件的inode值
 
find <開始路徑> -inum inode值
 
 
1)在同一文件系統下,可以創建軟鏈接或硬鏈接(同文件系統不同目錄下也可以);
2)硬鏈接的文件顯示大小跟原文件一樣;軟鏈接的文件很小,只有幾十個字節;
3)硬鏈接的文件的inode跟原文件一樣;軟連接的文件有自己的inode,跟原文件不一樣;
4)創建軟鏈接或硬鏈接文件不會明顯占用文件系統磁盤空間;只是多了個鏈接的大小而已
 
參考:http://forrest420.iteye.com/blog/1291032
http://blog.chinaunix.net/uid-105044-id-2952059.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM