Linux的硬链接和软链接到底有什么区别?( 二 )

  • 软链接可以跨文件系统
  • 软链接可以对目录创建
  • 软链接创建不会造成链接计数器增加,因为就不是同一个inode
  • 若链接的文件被删除了,该链接就是没有意义了,但是也可以重新创建 。
  •  
    下图展示下软链接的访问过程:
     
    Linux的硬链接和软链接到底有什么区别?

    文章插图
     
     
    例如:
    # ls -litotal 0// 可对不存在的文件创建软链接 # ln -s test.file test_soft.link# ls -liFtotal 0789467 lrwxrwxrwx 1 root root 8 Sep 1 18:00 test_soft.link -> test.file// 由于被指向的文件不存在,此时的软链接 test_soft.link 就是死链接 # cat test_soft.linkcat: test_soft.link: No such file or directory// 创建被指向的文件 test.file,test_soft.link 恢复成正常的软链接 # echo "This is an original file_A" >> test.file# cat test_soft.linkThis is an original file_A// 对不存在的目录创建软链接 # ln -s test.dir test_soft.link.dir# mkdir -p test.dir/test# tree . -F --inodes. ├── [ 789497] test.dir/ │ └── [ 789498] test/ ├── [ 789495] test.file ├── [ 789495] test_soft.link -> test.file └── [ 789497] test_soft.link.dir -> test.dir/具体的解释:略
     




    推荐阅读