硬链接:相当于文件的多个入口,作用:备份文件,创建快照等
软链接:相当于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