加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux:硬链接和软链接

发布时间:2022-12-20 11:04:31 所属栏目:Linux 来源:
导读:  目录

  1、硬链接

  包含在目录中的文件名就是一个文件的硬链接(hard link),或者简称链接(Link)。在同一目录或不同的目录中,同一文件可以友几个链接,因此对应几个文件名。

  unix命令:
  目录
 
  1、硬链接
 
  包含在目录中的文件名就是一个文件的硬链接(hard link),或者简称链接(Link)。在同一目录或不同的目录中,同一文件可以友几个链接,因此对应几个文件名。
 
  unix命令:
 
  ln P1 P2    //用来创建一个新的硬链接,即为由路径P1标识的文件创建一个路径名为P2的硬链接。
  硬链接由两方面的限制:
 
  ①不允许用户给目录创建硬链接。因为这可能把目录树变成环形树,从而就不可能通过名字定位一个文件。
 
  ②只有在同一个文件系统中的文件之间才能创建链接。这带来比较大的限制,因为现代unix系统可能包含了多种文件系统,这些文件系统位于不同的磁盘或者分区,用户也无法知道它们之间的物理划分。
 
  看到现在你是不是觉得ln就是一个阉割版的cp,不然,我们继续往下看

  我们可以发现forward-ln与forward的inode一样,而forward-cp与forward的inode不一样,说明硬链接指向的是同一份物理文件,而cp就是实打实的拷贝了一份新的。
 
  2、软链接
 
  为了客户上述限制,引入了软链接(soft link)[也称符号链接(symbolic link)]。符号链接是短文件,这些文件包含友另一个文件的任意一个路径名。路径名可以指向位于任意一个文件系统的任意文件和目录,甚至于可以指向一个不存在的文件。
 
  unix命令如下:
 
  ln -s P1 P2    //创建一个路径名为P2的新软链接,P2指向路径名P1。
  当这个命令执行时,文件系统抽出P2的目录部分linux软链接,并在那个目录下创建一个名为P2的符号链接类型的新项。这个新文件包含路径名P1。这样,任何对于P2的引用都可以被自动转换成指向P1的引用。
 
  3、区别
 
  硬链接不会创建新的物理文件,但是会使得当前物理文件的引用数加1。当硬链接产生的文件存在时,删除源文件,不会清除实际的物理文件,即对于硬链接“生成的新文件”不会产生任何影响。
 
  软链接就更像一个指针,只是指向实际物理文件位置,当源文件移动或者删除时,软链接就会失效。
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!