Linux常用基本命令(軟鏈接與硬鏈接 )
阿新 • • 發佈:2018-05-06
多個 類型 文件 文件類型 for lin 影響 rec AR
硬鏈接:相當於文件的多個入口,作用:備份文件,創建快照等
軟鏈接:相當於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 total4.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
Linux常用基本命令(軟鏈接與硬鏈接 )