分享

实际操作帮助理解Linux下的软硬链接

 孤独一兵 2016-09-26

Linux链接分两种,一种被称为硬链接用ln生成,另一种被称为软链接用ln -s生成

  1. 硬链接

硬链接指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬链接。硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。

ln命令可以创建硬链接:

语法格式:ln源文件 目标文件

[root@vipuser200 ~]# touchln.txt#创建一个ln.txt文件

[root@vipuser200 ~]# echohardlink > ln.txt #向文件中写入内容

[root@vipuser200 ~]# lnln.txt ln2.txt#创建硬链接ln2.txt

[root@vipuser200 ~]# catln2.txt #查看链接文件内的内容

hardlink

[root@vipuser200 ~]# echohardlink2 >> ln2.txt #向链接文件里面追加内容

[root@vipuser200 ~]# catln.txt#查看源文件

hardlink

hardlink2

编辑任意一个另外一个也随之改变

我们来查看以下这两个文件的inode

[root@vipuser200 ~]# ll -iln.txt ln2.txt

142337 -rw-r--r-- 2 rootroot 19 Jul 26 00:02 ln2.txt

142337 -rw-r--r-- 2 rootroot 19 Jul 26 00:02 ln.txt

注:inode号一样

我们把源文件删除查看链接文件是否有影响

[root@vipuser200 ~]# rm-rf ln.txt

[root@vipuser200 ~]# catln2.txt

hardlink

hardlink2

我们发现ln2.txt不受影响

#特点一:源文件被删除,不影响链接文件的正常使用

下面我们创建个目录的硬链接

[root@vipuser200 ~]# mkdirtest

[root@vipuser200 ~]# lntest/ test1

ln: `test/': hard link notallowed for directory

#特点二:硬链接不能对目录创建

[root@vipuser200 ~]# ln/boot/vmlinuz-2.6.32-431.el6.x86_64 lnboot

ln: creating hard link `lnboot' =>`/boot/vmlinuz-2.6.32-431.el6.x86_64': Invalid cross-device link

#特点三:硬链接不允许夸分区创建

注:不同分区可以通过df -h查看分区信息

[root@vipuser200 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 9.9G 1.4G 8.0G 15% /

tmpfs 479M 0 479M 0% /dev/shm

/dev/sda1 194M 27M 158M 15% /boot

/dev/sr0 3.6G 3.6G 0 100% /mnt

  1. 软连接

简明概括软链接,就是类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

ln -s命令可以创建软链接:

语法格式:ln -s源文件 目标文件

这里我们以图片展示更为直观

实际操作帮助理解Linux下的软硬链接

[root@vipuser200 ~]# cat ln3.txt

hardlink

hardlink2

我们删除源文件后查看

实际操作帮助理解Linux下的软硬链接

#特点一:删除后颜色变了,查看也没有信息

实际操作帮助理解Linux下的软硬链接

#特点二:可以对目录创建

实际操作帮助理解Linux下的软硬链接

#特点三:可以跨分区创建

********************************

**当才华撑不起野心的时候**

****就静下心来学习吧!*****

********************************

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多