Linux的硬链接和软连接

0x00 硬链接

特点

  • 具有相同inode节点号的多个文件互为硬链接文件;
  • 删除硬链接文件或者删除源文件任意之一,文件实体并未被删除;
  • 只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除;
  • 硬链接文件是文件的另一个入口;
  • 可以通过给文件设置硬链接文件来防止重要文件被误删;
  • 创建硬链接命令 ln 源文件 硬链接文件;
  • 硬链接文件是普通文件,可以用rm删除;
  • 对于静态文件(没有进程正在调用),当硬链接数为0时文件就被删除。注意:如果有进程正在调用,则无法删除或者即使文件名被删除但空间不会释放。

限制

  • 不可以在不同文件系统的文件间建立链接
  • 只有超级用户才可以为目录创建硬链接。

0x01 软连接

也叫符号链接

特点

  • 软链接类似windows系统的快捷方式;
  • 软链接里面存放的是源文件的路径,指向源文件;
  • 删除源文件,软链接依然存在,但无法访问源文件内容;
  • 软链接失效时一般是白字红底闪烁;
  • 创建软链接命令 ln -s 源文件 软链接文件;
  • 软链接和源文件是不同的文件,文件类型也不同,inode号也不同;
  • 软链接的文件类型是“l”,可以用rm删除。

限制

  • 当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了
  • 要系统分配额外的空间用于建立新的索引节点和保存原文件的路径

本文作者: chenishr

本文标题:《Linux的硬链接和软连接》

本文地址: https://blog.chenishr.com/?p=851

©版权所有,除非注明, 永在路上文章均为原创,转载请以链接形式注明出处和作者细信息。