硬連結:相當於檔案的多個入口,作用:備份檔案,建立快照等
軟連結:相當於windows的快捷方式
命令格式:
ln option 原始檔 目標檔案
-s: 建立軟連結
1,建立硬連結:
ghostwu@dev:~/linux/cp$ ls ghostwu.txt ghostwu@dev:~/linux/cp$ ls -l total 4 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink ghostwu@dev:~/linux/cp$ ls -l total 8 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
硬連結與原始檔的inode節點是相同的,因為指向的是同一個節點:
ghostwu@dev:~/linux/cp$ ls -ihl total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
都可以檢視內容
ghostwu@dev:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
刪除硬連結,不會影響原始檔
ghostwu@dev:~/linux/cp$ rm ghostwu_hardlink ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu
恢復硬連結,跟刪除之前的inode一樣的
ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
刪除原始檔,不會影響硬連結
ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ rm ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
可以通過硬連結恢復原始檔
ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
建立軟連結
ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ ln -s ghostwu.txt ghostwu_softlink ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:01 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
軟連結的i節點跟原始檔不同,檔案型別為l
ghostwu@dev:~/linux/cp$ cat ghostwu_softlink hello,my name is ghostwu ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:01 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt
刪除軟連結,不會影響硬連結和原始檔
ghostwu@dev:~/linux/cp$ rm ghostwu_softlink ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
刪除原始檔後,軟連結不能檢視內容,受到影響,硬連結不受影響
ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ rm ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu_softlink cat: ghostwu_softlink: No such file or directory ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
通過硬連結恢復原始檔,軟連結又可以使用了
ghostwu@dev:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt ghostwu@dev:~/linux/cp$ cat ghostwu_softlink hello,my name is ghostwu
不能為目錄建立硬連結
ghostwu@dev:~/linux/cp$ ln /home/ghostwu/ ghostwu_home ln: /home/ghostwu/: hard link not allowed for directory
但是可以為目錄建立軟連結
ghostwu@dev:~/linux/cp$ ln -s /home/ghostwu/ ghostwu_home ghostwu@dev:~/linux/cp$ ls -ilh total 8.0K 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink 9569550 lrwxrwxrwx 1 ghostwu ghostwu 14 5月 6 20:07 ghostwu_home -> /home/ghostwu/ 9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月 6 20:03 ghostwu_softlink -> ghostwu.txt 9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt