Linux-文件与目录操作命令-硬链接与软链接
1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),相当于windows里的复制。另一种被称为符号链接(Symbolic Link),也叫软链接。相当于windows里的快捷键。默认情况下,ln命令产生硬链接。
硬连接
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。
在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。
硬连接允许一个文件拥有多个有效路径名,目的是为了防止误删除。
其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
可以看出,硬链接的文件和源文件没什么不同,inode 都指向同一个文件在硬盘中的区块。
而软链接文件则类似于Windows的快捷方式。和源文件不再是同一文件。,软链接文件保存了源文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。
2.实例
[root@VM-4-13-centos ln]# touch f1.txt [root@VM-4-13-centos ln]# ll 总用量 0 -rw-r--r-- 1 root root 0 11月 3 09:40 f1.txt [root@VM-4-13-centos ln]# ls -i f1.txt #-i参数显示文件的inode节点信息 1480630 f1.txt [root@VM-4-13-centos ln]# ln f1.txt f2.txt #创建硬链接 [root@VM-4-13-centos ln]# ls -i 1480630 f1.txt 1480630 f2.txt [root@VM-4-13-centos ln]# ll 总用量 0 -rw-r--r-- 2 root root 0 11月 3 09:40 f1.txt -rw-r--r-- 2 root root 0 11月 3 09:40 f2.txt [root@VM-4-13-centos ln]# ln -s f1.txt f3.txt #创建软连接 ls -s [root@VM-4-13-centos ln]# ll 总用量 0 -rw-r--r-- 2 root root 0 11月 3 09:40 f1.txt -rw-r--r-- 2 root root 0 11月 3 09:40 f2.txt lrwxrwxrwx 1 root root 6 11月 3 09:42 f3.txt -> f1.txt