(Linux下的硬链接和软链接)
一、检查服务器系统版本
[root@node ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
二、Linux中硬链接和软链接介绍
Linux文件系统中,有所谓的链接(link),我们可以将其视为文件的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link)。
-
硬链接是指文件可以有多个名称。
-
软链接的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置
-
硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
三、Linux硬链接
1.创建文件
[root@node ~]# mkdir /hon
[root@node ~]# echo "aa-bb-test" > /hon/test.01
2.创建硬链接文件 test.bak
[root@node ~]# ln /hon/test.01 test.bak
3.查看硬链接文件
[root@node ~]# ll test.bak
-rw-r--r-- 2 root root 11 Nov 4 10:22 test.bak
[root@node ~]# ll /hon/test.01
-rw-r--r-- 2 root root 11 Nov 4 10:22 /hon/test.01
4.查看文件内容
[root@node ~]# cat /hon/test.01
aa-bb-test
[root@node ~]# cat test.bak
aa-bb-test
5.查看文件inode号
[root@node ~]# ls -i /hon/test.01
118529032 /hon/test.01
[root@node ~]# ls -i test.bak
118529032 test.bak
四、Linux软链接
1.创建一个测试文件
[root@node ~]# mkdir /ron
[root@node ~]# echo aa > /ron/aa.txt
2.创建软链接文件
ln -s /ron/aa.txt link.lk
3.查看文件inode号
[root@node ~]# ls -i /ron/aa.txt
126606482 /ron/aa.txt
[root@node ~]# ls -i link.lk
28417558 link.lk
4.查看文件内容
[root@node ~]# cat /ron/aa.txt
aa
[root@node ~]# cat link.lk
aa
五、测试删除硬链接文件
1.查看原文件属性
[root@node ~]# ll /hon/test.01
-rw-r--r-- 2 root root 11 Nov 4 10:22 /hon/test.01
2.删除链接文件
[root@node ~]# rm -rf test.bak
3.再次查看原文件变化
[root@node ~]# ll /hon/test.01
-rw-r--r-- 1 root root 11 Nov 4 10:22 /hon/test.01
六、测试删除软链接文件
1.删除原文件
rm -rf /ron/aa.txt
2.测试打开软链接文件
软链接文件已经损坏
[root@node ~]# cat link.lk
cat: link.lk: No such file or directory