Skip to content

Latest commit

 

History

History
59 lines (49 loc) · 2.28 KB

软链接和硬链接.md

File metadata and controls

59 lines (49 loc) · 2.28 KB

软链接和硬链接

链接

# 链接的作用
当我们需要在不同的目录用到相同的文件时, 我们不需要在每一个需要的目录都放相同的文件
我们只需要在某个固定的目录放上该文件, 然后在其他的目录用 ln 命令链接该文件即可

# 链接的分类
Linux链接分为两种: 硬链接(Hard Link) 和 符号链接(Symbolic Link)又称为软链接

格式: 
软链接: ln -s 源文件 目标文件
硬链接: ln 源文件 目标文件

理解软链接和硬链接

# 索引节点(inode)又称i节点
在Linux的文件系统中, 保存在磁盘分区中的文件不管是什么类型都给它分配一个编号, 称为索引节点号(Inode Index)
通过inode找到文件的具体物理存储位置, inode可以简单理解为指针
硬链接的作用是允许一个文件拥有多个有效路径, 以防止误删
文件真正删除的条件是该文件所有的硬链接文件都被删除

# 硬链接
硬链接通过索引节点进行连接, 多个文件名指向同一索引节点, 同一索引节点指向的是同一文件

# 软链接
本质是新建一个文件, 保存原文件的路径名, 相当于快捷方式, 因此新建文件和原文件的inode是不同的

# 软链接和硬链接的区别
1. 硬链接不支持为目录创建硬链接,但软链接可以
2. 
硬链接和软链接中对目标文件的修改都会在原文件中保持同步
删除原文件, 硬链接目标文件不受影响; 删除硬链接目标文件, 原文件不受影响
删除原文件, 软链接目标文件成为断链(没有链接对象); 删除软链接目标文件, 原文件不受影响

Example

# 硬链接 目标文件和源文件inode相同
[root@localhost wyx]# ll -i
total 0
34518626 -rw-r--r-- 1 root root 0 Mar 20 12:31 1.txt
[root@localhost wyx]# ln 1.txt hard-link.txt
[root@localhost wyx]# ll -i
total 0
34518626 -rw-r--r-- 2 root root 0 Mar 20 12:31 1.txt
34518626 -rw-r--r-- 2 root root 0 Mar 20 12:31 hard-link.txt

# 软链接 目标文件和源文件inode不同
[root@localhost wyx]# ln -s 1.txt soft-link.txt
[root@localhost wyx]# ll -i
total 0
34518626 -rw-r--r-- 2 root root 0 Mar 20 12:31 1.txt
34518626 -rw-r--r-- 2 root root 0 Mar 20 12:31 hard-link.txt
34518644 lrwxrwxrwx 1 root root 5 Mar 20 12:37 soft-link.txt -> 1.txt