Linux链接文件及区别?

Linux软链接和硬链接详解及区别?

1. 硬链接

硬链接文件相当于文件的入口。
创建命令 语法: ln 源文件 硬链接文件
[root@localhost oldboy]# ln oldboyfile oldboyfile_hard_link

硬链接小结:

  1.具有相同inode节点号的多个文件是互为硬链接文件。硬链接文件的inode是相同的。
  2.删除硬链接文件或源文件任意之一,文件实体并未被删除。(只是把链接的指向删除了)-------》找回源文件按或硬链接文件 ln oldboyfile_hard_link oldboyfile
  3.只有把源文件和源文件对应的所有链接文件删除,文件实体才会被删除。
  4.没有链接指向的文件会被系统回收。
  5.硬链接文件就是文件的另一个入口,相当于超市的前门后门,创建硬链接不会占用另外的磁盘空间,只是硬链接数量增加而已。
  6.可以创建硬链接文件,来防止重要的文件被误删除。
  7.可以通过执行命令 “ln 源文件 硬链接文件” ,即创建硬链接。
  8. 硬链接文件rm 命令删除。
  目录的硬链接不允许ln

2. 软连接

软链接文件相当于Windows快捷方式。
创建命令 语法: ln -s 源文件 软链接文件
[root@localhost oldboy]# ln -s oldboyfile oldboyfile_hard_link

软链接小结:

  1.软链接类似于WINDOW的快捷方式。
  2.软链接类似一个文件文件,里面存放的是源文件的路径,指向源文件实体。
  3.删除源文件,软连接文件依然存在,但是无法访问指向的源文件路径内容了。
  4.失效的时候一般是白字红底闪烁提示。
  5.执行命令 ln -s 源文件 软链接文件,即可创建软连接文件。
  6.软连接和源文件是不同类型的文件,也是不同的文件,inode号也是不同的。
  7.软链接文件rm 命令删除。
  目录的软连接可以ln -s

3. 软连接和硬链接使用限制

硬链接:
  a:不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的".."除外,这个系统可以识别出来),
   存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
  b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统
  c:不能对不存在的文件创建硬链接,由原理即可知原因

软链接:
  a:可以对目录创建软链接,遍历操作会忽略目录的软链接。
  b:可以跨文件系统
  c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了
命令:
  硬:ln 源文件 链接名
  软:ln -s 源文件 链接名

posted @ 2020-06-04 16:37  quanscd  阅读(371)  评论(0编辑  收藏  举报