乐趣区

关于linux:Linux下的硬链接和软链接

@TOC

一、查看服务器零碎版本

[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
退出移动版