硬链接和符号链接简介

硬链接:

由于linux下的文件是通过索引节点(Inode)来识别文件,系统并不为硬连接重新分配inode。每添加一个硬链接,文件的链接数就加1,但是硬连接本身还是有的原文件的inode值。如下:

[root@localhost tmp]# vi test
[root@localhost tmp]# ln test test-hd
[root@localhost tmp]# ls -il test*
1041459 -rw-r--r-- 2 root root    0 2012-02-13 20:46 test
1041459 -rw-r--r-- 2 root root    0 2012-02-13 20:46 test-hd

可以看到inode值都是1041459,连接数为2。

限制:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建硬链接。

符号链接软链接):

符号链接没有任何文件系统的限制,任何用户可以创建指向目录的符号链接,其实质上就是建立一个独立文件,这个文件会让数据的读取指向它连接的文件的内容,相当于windows系统中的快捷方式。而符号连接所占用的空间大小就是所连接的文件名长度大小。如下:

[root@localhost tmp]# ln -s test test-so

[root@localhost tmp]# ls -il test*
1041459 -rw-r--r-- 2 root root    0 2012-02-13 20:46 test
1041459 -rw-r--r-- 2 root root    0 2012-02-13 20:46 test-hd
1041458 lrwxrwxrwx 1 root root    4 2012-02-13 20:52 test-so -> test

### Linux 中创建硬链接符号链接的命令 在 Linux 系统中,`ln` 命令用于创建文件或目录的链接。根据链接类型的不同,可以分为硬链接(hard link)符号链接(软链接,symbolic link)。以下是具体的命令示例及说明。 #### 创建硬链接 硬链接是对文件内容的直接指向,所有硬链接共享相同的 inode 文件数据。创建硬链接时,目标文件必须是一个普通文件,不能是目录。 命令格式: ```bash ln [源文件] [目标文件] ``` 示例: 假设有一个文件名为 `file1.txt`,要为它创建一个硬链接 `file1_hardlink.txt`,可以执行以下命令: ```bash ln file1.txt file1_hardlink.txt ``` 此时,`file1.txt` `file1_hardlink.txt` 共享同一个 inode 文件数据[^1]。 #### 创建符号链接 符号链接类似于 Windows 系统中的快捷方式,它存储的是指向目标文件或目录的路径。符号链接可以指向文件或目录,并且支持跨文件系统操作。 命令格式: ```bash ln -s [源文件或目录] [目标链接名] ``` 示例: 假设有一个文件名为 `file2.txt`,要为它创建一个符号链接 `file2_symlink.txt`,可以执行以下命令: ```bash ln -s file2.txt file2_symlink.txt ``` 此时,`file2_symlink.txt` 是一个符号链接,指向 `file2.txt` 的路径[^2]。 如果需要为一个目录创建符号链接,例如将 `/home/user/docs` 目录链接到 `/usr/local/docs`,可以执行以下命令: ```bash ln -s /home/user/docs /usr/local/docs ``` #### 注意事项 - 硬链接无法跨越不同的文件系统。 - 符号链接可以指向不存在的文件或目录,而硬链接必须基于已存在的文件。 - 删除原文件后,硬链接仍然有效,但符号链接会失效[^3]。 ### 示例代码 以下是完整的命令示例: ```bash # 创建硬链接 ln file1.txt file1_hardlink.txt # 创建符号链接 ln -s file2.txt file2_symlink.txt # 为目录创建符号链接 ln -s /home/user/docs /usr/local/docs ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值