欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

浅谈软连接和硬链接

程序员文章站 2022-06-03 09:38:38
...

在linux系统中,连接分为两种,一种是硬链接,另一种是软连接(也叫符号连接)。

硬链接:指向原始文件对应的数据存储位置。
软连接(符号链接):指向原始文件所在的路径。

如何创建软链接和硬链接?
创建软连接和硬链接很简单,用 ln命令即可实现。
语法 :ln -s 源文件 链接文件
不加-s创建的是硬链接,创建软连接的话需要加-s。
示例:
给文件a.txt分别创建了一个硬链接b.txt和一个软链接c.txt

[[email protected] tmp]# touch a.txt
[[email protected] tmp]# ln a.txt b.txt
[[email protected] tmp]# ln -s a.txt c.txt

我们用ll命令查看一下,可以看到:

[[email protected] tmp]# ll
total 0
-rw-r--r-- 2 root root 0 Mar 23 18:28 a.txt
-rw-r--r-- 2 root root 0 Mar 23 18:28 b.txt
lrwxrwxrwx 1 root root 5 Mar 23 18:28 c.txt -> a.txt

c.txt是一个软连接,它指向了源文件a.txt

硬链接:一个inode号对应多个文件名
正常情况是 一个inode号对应一个文件名
软连接(符号链接):符号链接文件有自己的inode号,与源文件的inode号是不一样的
使用ls -i命令查看一下这几个文件的inode号,可以看到

[[email protected] tmp]# ls -i
3538952 a.txt  3538952 b.txt  3538953 c.txt

a.txt的inode号和b.txt的inode号是一样的,而c.txt的inode号和源文件a.txt是不一样的。

为了方便理解,可以认为硬链接就好比是给文件起了一个别名,而软连接就如同咱们windows中的快捷方式。

注意点:
1)不能为目录建立硬链接
2)硬链接不能跨文件系统,软连接可以(但是在创建的时候要注意路径问题)
3)删除源文件的话,对硬链接文件是没有影响的,但是软连接文件会失效,我们在查看的时候会看到它白底红字闪烁。

相关标签: linux基础

上一篇: linux

下一篇: router