1.Linux硬链接和软连接

 ln命令,创建连接

命令参数:

必要参数:

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-s 软链接(符号链接)

-v 显示详细的处理过程



    Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。


【硬连接】
    硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)ll -i可查看Inode节点。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名(相当于一个人有多个名字),只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。(注意;硬链接不可跨分区创建)

   实验: [root@Centou7 ~]# ln /etc/yum.con(2)   蓝色标记为创建的硬链接

-rw-r--r--. 1 root root    0 Jul 30 05:47 2016-07-30.txt

-rw-------. 1 root root 1389 Jul 22 15:35 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Desktop

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Documents

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Downloads

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Music

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Pictures

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Public

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Templates

-rw-r--r--. 1 root root    0 Jul 30 05:47 testdir

-rw-r--r--. 1 root root    0 Jul 31 09:08 tr

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Videos

-rw-r--r--. 2 root root  970 Dec  3  2015 yum.conf(2)

  那么我们来对比一下家目录下的yum.conf和etc/yum.conf有什么不同

135577869 -rw-r--r--. 2 root root 970 Dec  3  2015 yum.conf(2)(家目录下的yum.conf)

135577869 -rw-r--r--. 2 root root 970 Dec  3  2015 /etc/yum.conf

    从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为135577869,然而符号连接文件的inode节点不同。


【软链接】:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

2.软链接可以 跨文件系统 

3.软链接可以对一个不存在的文件名进行链接

4.软链接可以对目录进行链接

5.源文件被删除后,软链接文件在centos系统下不断的闪烁,提示源文件已经不存在,重建源文件后,软链接不在闪烁提示,说明已经链接成功,找到了链接文件系统;


 实验;1.[root@Centou7 ~]# ln -s /testdir/l/  l1.link

    

 输出结果 [root@Centou7 ~]# ls

2016-07-30.txt   Desktop    Downloads  Music     Public     Videos

anaconda-ks.cfg  Documents  l1.link    Pictures  Templates

  

 删除原文件;  

[root@Centou7 ~]# ll

total 4

-rw-r--r--. 1 root root    0 Jul 30 05:47 2016-07-30.txt

-rw-------. 1 root root 1389 Jul 22 15:35 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Desktop

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Documents

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Downloads

lrwxrwxrwx. 1 root root   11 Aug  1 12:14 l1.link -> /testdir/l/

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Music

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Pictures

  

 重建原文件  

[root@Centou7 ~]# ll

total 4

-rw-r--r--. 1 root root    0 Jul 30 05:47 2016-07-30.txt

-rw-------. 1 root root 1389 Jul 22 15:35 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Desktop

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Documents

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Downloads

lrwxrwxrwx. 1 root root   11 Aug  1 12:14 l1.link -> /testdir/l/

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Music

drwxr-xr-x. 2 root root    6 Jul 24 20:30 Pictures