首页 > 系统相关 >centos 系统之软连接和硬链接

centos 系统之软连接和硬链接

时间:2023-03-15 16:12:42浏览次数:41  
标签:opt centos 之软 连接 wangzy root 链接 localhost

一、名词解释

硬连接
      硬连接指通过索引节点来进行连接。在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]#

 

 

标签:opt,centos,之软,连接,wangzy,root,链接,localhost
From: https://www.cnblogs.com/wangzy-Zj/p/17218918.html

相关文章