Skip to content

软链接和硬链接的区别

  1. ln targetFile newFile
    1. 生成的硬链接,属于一个指针,newFile 的内容变动或读取,都与 targetFile 同步
    2. 删除 newFile 不影响 targetFile
    3. 删除 targetFile 不影响 newFile
    4. 正因为每个硬链接是一个指针,它们直接指向文件的内存地址;当所有指向某个内存地址的指针都被删除后,这块的内存才会清空
    5. targetFile 路径变动,newFile 不受影响
  2. ln -s targetFile newFile
    1. 生成的软链接,属于一个文件,newFile 的内容变动或读取,都与 targetFile 同步
    2. 删除 newFile 不影响 targetFile
    3. 删除 targetFile ,会导致 newFile 无法读写
    4. 每次保存 newFile 时,都会指向它生成指向的文件全路径
    5. 访问时会替换成绝对路径
    6. targetFile 移动时,会影响 newFile,相当于原文件删除了

参考资料

  1. 简书 - 5分钟让你明白“软链接”和“硬链接”的区别
  2. Linux硬链接和软连接的区别与总结