文件描述符是相對進程而言的,一個文件可以有多個文件描述符,但只有一個inode,inode一樣就是同一個文件,文件名不同也是同一個 硬鏈接 1. 兩個文件是指向同一個存儲區,inode號一樣,並沒有開闢新的空間, 2. 實質是普通文件。但並不開闢新的存儲空間 3. 刪除一個有硬鏈接的文件,並不會釋放 ...
文件描述符是相對進程而言的,一個文件可以有多個文件描述符,但只有一個inode,inode一樣就是同一個文件,文件名不同也是同一個
硬鏈接
- 兩個文件是指向同一個存儲區,inode號一樣,並沒有開闢新的空間,
- 實質是普通文件。但並不開闢新的存儲空間
- 刪除一個有硬鏈接的文件,並不會釋放存儲區,如果該文件的硬鏈接數為0,才會刪除
- 目錄不占用實際磁碟空間,所以不能創建硬鏈接
ln filename link
給filename創建一個名為link的硬鏈接
$ln 1.txt l1
161013 $ls -li
total 44
927082 -rw-rw-r-- 2 jiang jiang 72 10月 13 09:21 1.txt
927082 -rw-rw-r-- 2 jiang jiang 72 10月 13 09:21 l1
$ln dir ldir
ln: ‘dir’: hard link not allowed for directory
軟鏈接
ln -s filenamepath link2
創建鏈接到filename的名為link2的符號鏈接
ln -s `pwd`/2.txt link2
避免寫太長的路徑,使用pwd表示絕對路徑,將它的執行結果當作參數進行使用
- 就是windows下的快捷方式
- 是符號鏈接文件,不是普通文件
- 開闢新的鏈接文件空間
- 支持對目錄的鏈接
- 創建軟鏈接時如果不指定路徑時都是用相對路徑,所以移動軟鏈接文件會出錯,應使用絕對路徑,可以藉助pwd
$ln -s 2.txt l2
161013 $ls -il
total 44
927085 -rw-rw-r-- 1 jiang jiang 78 10月 13 09:50 2.txt
927087 lrwxrwxrwx 1 jiang jiang 5 10月 13 14:13 l2 -> 2.txt