Linux常用基本命令(软链接与硬链接 )
Posted ghostwu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用基本命令(软链接与硬链接 )相关的知识,希望对你有一定的参考价值。
硬链接:相当于文件的多个入口,作用:备份文件,创建快照等
软链接:相当于windows的快捷方式
命令格式:
ln option 源文件 目标文件
-s: 创建软链接
1,创建硬链接:
[email protected]:~/linux/cp$ ls ghostwu.txt [email protected]:~/linux/cp$ ls -l total 4 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt [email protected]:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink [email protected]:~/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节点是相同的,因为指向的是同一个节点:
[email protected]:~/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
都可以查看内容
[email protected]:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu [email protected]:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
删除硬链接,不会影响源文件
[email protected]:~/linux/cp$ rm ghostwu_hardlink [email protected]:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt [email protected]:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu
恢复硬链接,跟删除之前的inode一样的
[email protected]:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu.txt [email protected]:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink [email protected]:~/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
删除源文件,不会影响硬链接
[email protected]:~/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 [email protected]:~/linux/cp$ rm ghostwu.txt [email protected]:~/linux/cp$ ls -ilh total 4.0K 9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月 6 19:51 ghostwu_hardlink [email protected]:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
可以通过硬链接恢复源文件
[email protected]:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt [email protected]:~/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
创建软链接
[email protected]:~/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 [email protected]:~/linux/cp$ ln -s ghostwu.txt ghostwu_softlink [email protected]:~/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
[email protected]:~/linux/cp$ cat ghostwu_softlink hello,my name is ghostwu [email protected]:~/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
删除软链接,不会影响硬链接和源文件
[email protected]:~/linux/cp$ rm ghostwu_softlink [email protected]:~/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 [email protected]:~/linux/cp$ cat ghostwu.txt hello,my name is ghostwu [email protected]:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
删除源文件后,软链接不能查看内容,受到影响,硬链接不受影响
[email protected]:~/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 [email protected]:~/linux/cp$ rm ghostwu.txt [email protected]:~/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 [email protected]:~/linux/cp$ cat ghostwu_softlink cat: ghostwu_softlink: No such file or directory [email protected]:~/linux/cp$ cat ghostwu_hardlink hello,my name is ghostwu
通过硬链接恢复源文件,软链接又可以使用了
[email protected]:~/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 [email protected]:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt [email protected]:~/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 [email protected]:~/linux/cp$ cat ghostwu_softlink hello,my name is ghostwu
不能为目录创建硬链接
[email protected]:~/linux/cp$ ln /home/ghostwu/ ghostwu_home ln: /home/ghostwu/: hard link not allowed for directory
但是可以为目录创建软链接
[email protected]:~/linux/cp$ ln -s /home/ghostwu/ ghostwu_home [email protected]:~/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常用基本命令(软链接与硬链接 )的主要内容,如果未能解决你的问题,请参考以下文章