Linux中的软、硬链接的区别

软链接与硬连接的区别就是,硬连接是新创建一个指向同一个文件空间(物理位置)的指针;而软连接是创建一个指向原来文件的指针,不是直接指向文件空间的。通过命令ls -l就可以他们的inode数不同。

 1:软链接

  命令:ln �Cs /etc/inittab /test/inittab.soft

  查看:ls �Cl /etc/initab /test/inittab.soft

  发现软连接类似于windows的快捷方式,―>表示真实文件的地址

  2:硬链接

  命令: ln /etc/inittab /test/inittab.hard

  查看: ls -l /etc/inittab /test/inittab.hard

  发现硬链接与真实文件的大小和创建日期完全相同,类似于copy,同步更新。

  3:硬链接与拷贝的区别:

  发现拷贝与真实文件的创建日期不同。

  4: 若想复制时日期相同,可以通过命令:cp �Cp /etc/inittab /test/inittab2

  5:硬链接的同步更新

  软连接类似于快捷方式,访问的就是源文件,所有肯定是跟源文件同步。

  而硬链接类似于拷贝,但是却拥有同步更新的功能,再此我们可以验证。

  首先在/test目录下创建文件link

  (1) 分别创建link的软连接文件和硬链接文件,link.soft link.hard

  (2) 向源文件link 写入数据

  (3) 查看三个文件的内容

  发现硬链接文件与源文件同步更新

  6:删除源文件后,对硬链接和软连接的影响

  软连接类似快捷方式,所有当源文件不存在时,它也无效。

  而硬链接属于拷贝,仍然存在。

  7:为什么硬链接可以同步更新?

  同样创建了一个文件link 和它的软链接和硬链接文件,

  通过命令ls �Ci ,发现硬链接文件和源文件的i结点数字相同,而内核是根据文件的i结点来标识文件的,这两个文件的i结点相同,所以被认为是一个文件,所有同时写入和修改数据。

  8:硬链接的要求

  硬链接不能跨文件系统,即不能跨分区,类似于windows内不能将C盘的硬链接放在D盘。而软链接可以放在任何文件系统。


你可能感兴趣的:(硬链接的区别)