linux中的硬連接和軟連接
阿新 • • 發佈:2017-06-12
正常 軟連接 art 而是 tle -a 點號 var rwx
linux中的硬連接和軟連接
- linux中的硬連接和軟連接
- 背景
- 連接
- 硬連接
- 軟連接
- example
- reference
背景
linux中的文件主要分3塊,
- 真正的數據
- 索引節點號(inode index)
- 文件名稱
讀取文件的順序是通過文件名稱。找到相應的inode。然後通過inode找到相應的數據,進行讀取。
連接
當我們須要在不同的文件夾,用到同樣的文件時。我們不須要在每個須要的文件夾下都放一個必須同樣的文件,我們僅僅要在某個固定的文件夾,放上該文件,然後在 其他的文件夾下用ln命令鏈接(link)它就能夠,不必反復的占用磁盤空間。
硬連接
硬連接就是將多個不同的文件名稱指向同一個inode index。這樣通過當中的隨意一個文件名稱。都會訪問到同一份數據。例如以下圖所看到的。文件名稱1,文件名稱2,文件名稱3都會通過同一個inode訪問到同一份數據。
軟連接
軟連接相似windows中的快捷方式。它不是直接連到源文件的inode上的,而是一個新的特殊的文件,它記錄了被連的文件名稱3的路徑。
example
? /tmp ln -s test test1 #symbolic link
? /tmp ln test test2 #hard link
? /tmp ls -l test*
6508253 -rw-r--r--@ 2 deshengkong wheel 3423 7 10 20:08 test
6534236 -rw-r--r-- 1 deshengkong wheel 103 7 13 10:22 test.php
6544973 lrwxr-xr-x 1 deshengkong wheel 4 7 13 11:13 test1 -> test # symbolic link 該文件的類型是l(link)
6508253 -rw-r--r--@ 2 deshengkong wheel 3423 7 10 20:08 test2 # hard link 該文件的文件類型是普通文件
? /tmp rm test #delete source file
? /tmp cat test1 #symbolic link file找不到源文件。所以報錯。
cat: test1: No such file or directory
? /tmp cat test2 #hard link file 正常
reference
http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html
http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html
linux中的硬連接和軟連接