31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
#### 背景知识:硬链接与软链接的区别
|
||
所有硬链接共用一个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
|
||
```
|
||
|