computer_knowledge_notes/Software/文件管理/ln.md

1.5 KiB
Raw Blame History

背景知识:硬链接与软链接的区别

所有硬链接共用一个inode号所以硬链接本质上是同一个文件。每个软链接都有自己的inode号所以软链接本质上是不同的文件只是这个文件本身指向了其它的inode。

  • 软链接有私有的文件属性及权限,而硬链接则共享相同的文件属性与权限。
  • 可以为不存在的属性或目录创建软链接,而硬链接不行。
  • 软链接可以链接到不同的文件系统,而硬链接只能链接到本文件系统中。
  • 创建硬链接结点的硬链接计数器会加1,而创建软链接不会。
  • 删除软链接不会影响原文件,但所有硬链接被删除后文件本身也会被删除。

作用

创建文件之间的链接

语法(共有4种形式)

ln [OPTION]... [-T] TARGET LINK_NAME (1st form) ln [OPTION]... TARGET (2nd form) ln [OPTION]... TARGET... DIRECTORY (3rd form) ln [OPTION]... -t DIRECTORY TARGET... (4th form)

  • 第1种形式使用名称LINK_NAME创建对TARGET的链接
  • 第2种形式在当前目录下创建对TARGET的链接
  • 第3、4种形式在DIRECTORY目录下创建所有TARGET的链接意思就是TARGET可以不止一个

用法

  • 直接使用ln命令创建的是硬链接使用ln -s创建的是软链接。
  • -t是指定链接所在的目录,而-T是指定链接到的文件。

示例

ln -s /home/open/abc abc	# 在前目录下创建软链接abc其指向/home/open/abc