操作系统 百分网手机站

linux 硬链接和软链接深入了解

时间:2020-07-20 12:18:22 操作系统 我要投稿

linux 硬链接和软链接深入了解

  在学习linux的过程中,我经常把软硬链接,所以今天专门查了一些资料,然后整合在自己的博客中,方便以后复习,查看。

  一方面也是因为看了vamei的linux的概念与体系系列文章,感觉不全的做些补充。

  软链接相当于windows中的快捷方式。硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响到另一处的数据.

  详细的介绍:

  硬连接指向的是节点(inode),是已存在文件的.另一个名字,修改其中一个,与其连接的文件同时被修改;对硬链接文件进行读写和删除操作时候,效果和软链接相同。但如果我们删除硬链接文件的源文件, 硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而把他当成一个普通文件。 硬链接文件有两个限制: 1、不允许给目录创建硬链接; 2、只有在同一文件系统中的文件之间才能创建链接。

  软链接指向的是路径,又叫符号链接,这个文件包含了另一个文件的路径名可以是任意文件或目录,还可以链接不同文件系统的文件,和win下的快捷方式差不多。软链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己,类似于编程语言中的递归。

  示例:

  ln exitfile newfile

  ln -s exitfile newfile

  这里的newfile为创建的链接名字,第一个没有参数,默认是硬链接,第二个 -s 表示是软链接。

  ls -il 可以查看文件的inode号等属性,例如:

  [root@server tmp]# touch file

  [root@server tmp]# ln file file1

  [root@server tmp]# ln -s file file2

  [root@server tmp]# ls -il

  total 0

  27127 -rw-r--r--. 2 root root 0 Nov 20 10:40 file

  27127 -rw-r--r--. 2 root root 0 Nov 20 10:40 file1

  27132 lrwxrwxrwx. 1 root root 4 Nov 20 10:40 file2 -> file

  在 /tmp 目录下,创建名为file的文件,先后创建硬链接file1,软链接file2.观察ls -il的输出

  file 和 file1 的inode是一样的,所以可以说硬链接是指针指向同一个inode,系统并不为他重新分配inode。file2指向file,说明file2是软链接,inode号也发生变化,

  若删除原始文件file,硬链接继续使用,但软链接就失效了。这点与win下的快捷方式类似。

  这里需要强调的是,ls -l 命令输出中的第3个字段内容,此为inode链接数,只要不为0,对于硬链接来说,文件就一直存在,不管你删的是源文件还是之前生成的硬链接。

【linux 硬链接和软链接深入了解】相关文章:

1.通过实例讲解Linux系统中硬链接与软链接的创建

2.c语言链接程序

3.浅谈Dreamweaver超链接

4.Dreamweaver设计彩色文字链接

5.PHP如何关联链接添加

6.C语言中的链接编写

7.如何使用Dreamweaver锚记链接

8.Dreamweaver中怎样制作超链接