ln 创建连接

本文介绍了Linux系统中硬链接和符号链接的概念及其区别。硬链接为文件创建额外的目录条目,使得文件有多个名字;而符号链接则创建一个指向文件路径的特殊文件。文章通过实例展示了如何使用ln命令创建这两种链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ln有硬链接和符号链接。

ln file link   #硬链接
ln -s item link   #软链接,item可以是文件也可以是目录。

1,硬链接 hard links

每个文件都有一个硬链接,这个硬链接给文件起名字。当我们创建一个硬链接以后, 就为文件创建了一个额外的目录条目。
局限性:
1,不能关联文件系统之外的文件。
2,不能关联目录。

2,符号链接

创建一个特殊文件,包含一个关联文件或目录的文本指针。类似于windows的快捷方式。
修改符号链接可以修改指向的文件,删除符号链接不影响指向的文件,文件被删除,符号链接指向空,ls 下显示红色。

[jh@localhost playground]$ln fun fun-hard
[jh@localhost playground]$ls -l
rwxrwxr-x. 2 jh jh 4096 7月  24 22:28 dir1
drwxrwxr-x. 2 jh jh 4096 7月  24 22:28 dir2
-rw-r--r--. 4 jh jh 2195 7月  24 22:26 fun
-rw-r--r--. 4 jh jh 2195 7月  24 22:26 fun-hard
[jh@localhost playground]$ ls -li
总用量 16
479354890 drwxrwxr-x. 2 jh jh 4096 7月  24 22:28 dir1
479363082 drwxrwxr-x. 2 jh jh 4096 7月  24 22:28 dir2
479339188 -rw-r--r--. 4 jh jh 2195 7月  24 22:26 fun
479339188 -rw-r--r--. 4 jh jh 2195 7月  24 22:26 fun-hard

ls -l 的第二列4和2体现的是,比如fun的硬链接数目。ls -li 的第一列展示了(文件索引节点)的信息。硬链接包含 内容的数据部分和特有的文件名的名字部分。相同数据名字不同的话,系统会分配一个所谓的磁盘索引节点来关联。

2,符号链接

[jh@localhost playground]$ ln -s fun fun-sym
[jh@localhost playground]$ ln -s fun dir1/fun-sym
[jh@localhost playground]$ ln -s fun dir2/fun-sym
[jh@localhost playground]$ ls -l
总用量 16
drwxrwxr-x. 2 jh jh 4096 725 07:24 dir1
drwxrwxr-x. 2 jh jh 4096 725 07:25 dir2
-rw-r--r--. 4 jh jh 2195 724 22:26 fun
-rw-r--r--. 4 jh jh 2195 724 22:26 fun-hard
lrwxrwxrwx. 1 jh jh    3 725 07:24 fun-sym -> fun
[jh@localhost playground]$ ls -li
总用量 16
479354890 drwxrwxr-x. 2 jh jh 4096 725 07:24 dir1
479363082 drwxrwxr-x. 2 jh jh 4096 725 07:25 dir2
479339188 -rw-r--r--. 4 jh jh 2195 724 22:26 fun
479339188 -rw-r--r--. 4 jh jh 2195 724 22:26 fun-hard
479339189 lrwxrwxrwx. 1 jh jh    3 725 07:24 fun-sym -> fun

会创建一个目标文件在哪里和符号链接有关联的文本描述。1表示是一个符号链接,指向fun 。3表示fun 的字符数,而不是符号链接指向的文件长度。但是符号链接在ls -li 后第一列不一样。

参考:《the linux learning command》

### 如何使用 `ln` 命令创建连接 在 Linux 中,可以通过 `ln` 命令来创建软链接(也称为符号链接)。软链接类似于 Windows 系统中的快捷方式,它指向另一个文件或目录。以下是有关如何使用该命令的具体说明: #### 语法结构 基本语法如下所示: ```bash ln -s 源文件或目录 软链接的文件或目录 ``` 其中 `-s` 参数表示要创建的是一个软链接。 #### 示例操作 1. **创建单个文件的软链接** 如果希望为某个文件创建软链接,则可以执行以下命令: ```bash ln -s /root/t.txt /tmp/a.txt ``` 此处 `/root/t.txt` 是原始文件路径,而 `/tmp/a.txt` 则是新创建的软链接名称[^1]。 2. **创建整个目录的软链接** 对于目录而言,也可以通过相同的方式生成其对应的软链接。需要注意的一点在于,当涉及到目录时通常建议采用绝对路径以避免潜在错误: ```bash ln -s /root/A/ /tmp/dir ``` 上述例子中,`/root/A/` 表示原目标目录位置;`/tmp/dir` 即为此目录所建立的新软链地址[^1]。 3. **注意事项** - 当尝试覆盖已经存在同名对象的情况下会失败,除非加上强制选项或者其他处理方法。 ```bash # 若 a.txt 已经存在于 /tmp 下面则会产生报错信息提示无法完成此动作 ln -s /root/t.txt /tmp/a.txt ``` 4. **删除软链接** 删除软链接非常简单,只需利用标准的 `rm` 命令即可实现: ```bash rm /usr/local/bin/hello ``` 这里假设之前有一个名为 hello 的程序被设定了到其他地方的实际可执行档上的软连结,在不再需要这个捷径的时候就可以这样把它移除掉[^2]。 #### 总结 无论是针对单独文档还是整组资料夹都可以轻松运用上述技巧达成目的——即快速便捷地设立各自所需的参照关系而不必复制任何实质数据本身从而节省存储资源的同时还能够维持两者间内容一致性更新状态共享特性优势明显! ```python # Python 示例代码仅用于演示无关实际功能逻辑关联部分忽略不计 print("This is an example of using the 'ln' command.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值