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

31 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### 背景知识:硬链接与软链接的区别
所有硬链接共用一个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`是指定链接到的文件。
#### 示例
```shell
ln -s /home/open/abc abc # 在前目录下创建软链接abc其指向/home/open/abc
```