Centos 7 硬连接和软连接
概述
硬连接
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
硬连接
复制一个文件,可以看到此文件内容,删除原文件之后,复制 的文件也能看见
ln语法
ln [选项] 目标 [链接名] ln [选项] 目标 目录
先创建一个文本文件
[root@localhost ~]# touch 1.txt [root@localhost ~]# echo "hahaha" >> 1.txt [root@localhost ~]# cat 1.txt hahaha [root@localhost ~]# ln 1.txt 2.txt [root@localhost ~]# ls -l -i total 12 33879049 -rw-r--r-- 2 root root 7 Jun 25 22:37 1.txt 33879049 -rw-r--r-- 2 root root 7 Jun 25 22:37 2.txt 33574978 -rw-------. 1 root root 1423 Jun 25 17:55 anaconda-ks.cfg
查看文件
两个文件是一模一样的,1.txt是它的源文件,2.txt是复制的文件,如果源文件1.txt删除,2.txt还是可以查看内容
查看文件
软连接
复制一个文件可以看到此内容,但是删除了原文件之后,就看到复制文件里面的内容了,相当于一个快捷方式的作用
创建文件
[root@localhost ~]# touch 1.txt [root@localhost ~]# echo “dccnb” > 1.txt [root@localhost ~]# cat 1.txt dccnb
ln -s 1.txt 2.txt ls -l -i
删除源文件,快捷方式也就不能查看内容