软硬链接最大的区别是:把源文件删除了以后,链接文件是否还有效。

文章目录

  • ​​1、准备工作​​
  • ​​2、建立软硬链接​​
  • ​​2.1 建立硬链接​​
  • ​​2.2 建立软链接​​
  • ​​3、测试链接​​
  • ​​4、硬链接与软链接的区别​​

1、准备工作

当前目录下有一个print文件,一个test目录。

Linux下软链接与硬链接_硬链接

print的内容是
​​​echo "happy barry"​

2、建立软硬链接

软链接也叫做符号链接。

2.1 建立硬链接

ln -v print ./test/print_hard

2.2 建立软链接

​建立软链接一定要用绝对路径​

ln -v -s /home/allen/Templates/test0/print /home/allen/Templates/test0/test/print_soft

建立好的两个链接

3、测试链接

Linux下软链接与硬链接_linux_02

将源文件删除以后再测试建立的链接

Linux下软链接与硬链接_linux_03


观察源文件与硬链接,软链接文件的inode

Linux下软链接与硬链接_linux_04

观察
可以看到软链接从浅蓝色变为红色,硬链接仍然可以用,软链接已经失效了。

4、硬链接与软链接的区别

  • 硬链接文件的inode与源文件相同,是同一个文件,而软链接的inode与源文件不同,是一个新的文件。
  • 不能对目录创建硬链接,因为文件系统不能存在链环。而目录可以创建软链接,因为软链接本身就是一个链接。
  • 硬链接不能对不同的文件系统下创建硬链接。而软链接可以跨文件系统创建。
  • 硬链接不能对不存在的文件创建,而软链接可以,因为软链接中存在的只是一个字符串,只不过不正常的软链接显示的颜色(红色)和正常的软链接(浅绿色)不同。