大家好,欢迎来到IT知识分享网。
一、名词解释
硬连接
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的,一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
二、软连接和硬链接的区别
1、硬链接和源文件拥有相同的Inode和Block,而软链接和源文件拥有不同的Inode和Block。
2、硬链接不能链接目录,软链接可以链接目录。
3、硬链接不能跨分区,而软链接可以跨分区。
三、实例演示
ln语法
ln [选项] 源文件/目录绝对路径 目标文件/目录
选项: -s: 建立软链接文件。如果不加"-s"选项,则建立硬链接文件 -f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
软连接
软链接可以跨分区,也可以链接目录
# 1、查看旧目录 [root@localhost opt]# ls /home/app/ [root@localhost opt]# ls /opt/wangzy/ docker-compose.yml start.sh # 2、创建软链接 [root@localhost opt]# ln -s /opt/wangzy/ /home/app/wangzy01 # 3、查看软链接,发现有连接符号。查看内容,跟源文件一样 [root@localhost opt]# ll /home/app/ 总用量 0 lrwxrwxrwx 1 root root 12 3月 15 15:09 wangzy01 -> /opt/wangzy/ [root@localhost opt]# ls /home/app/wangzy01/ docker-compose.yml start.sh # 4、删除软链接【注意最后没有斜杠】,对比第五步 [root@localhost opt]# rm -rf /home/app/wangzy01
[root@localhost opt]# ls /home/app
[root@localhost opt]#
# 5、警告-警告-警告:删除软连接下的内容【注意最后有斜杠】对比第四步,软连接还存在,但对应的源目录下的内容被删除了
[root@localhost opt]# rm -rf /home/app/wangzy01/
[root@localhost opt]# ls /home/app/wangzy01/
wangzy01
[root@localhost opt]# ls /opt/wangzy/ # 源文件下面内容没了
[root@localhost opt]#
硬链接
硬链接不能链接目录,只能链接文件。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能
# 查看当前目录文件 [root@localhost wangzy]# ls docker-compose.yml yj-vsftpd # 硬链接不能链接目录 [root@localhost wangzy]# ln yj-vsftpd/ bak ln: "yj-vsftpd/": 不允许将硬链接指向目录 # 设置硬链接 [root@localhost wangzy]# ln docker-compose.yml test.yml # 查看硬链接,没有链接指向 [root@localhost wangzy]# ll 总用量 8 -rw-r--r-- 2 root root 318 3月 15 15:45 docker-compose.yml -rw-r--r-- 2 root root 318 3月 15 15:45 test.yml drwxr-xr-x 3 root root 80 3月 15 15:45 yj-vsftpd # 删除硬链接不影响源文件
[root@localhost wangzy]# vi test.yml #修改硬链接文件则源文件同样修改 [root@localhost wangzy]# rm -rf test.yml #删除硬链接不影响源文件 [root@localhost wangzy]# ls docker-compose.yml yj-vsftpd [root@localhost wangzy]#
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31114.html