Linux 的 link 命令

Linux 中的 link 命令用于创建硬链接(hard link),这是 Linux/Unix 文件系统中的一种特殊文件连接方式。与符号链接(symbolic link)不同,硬链接直接指向文件的 inode,而不是通过路径名引用。

命令语法

bash 复制代码
link filename1 filename2
  • filename1:已存在的源文件
  • filename2:要创建的硬链接名称

硬链接特性

  1. inode 共享:硬链接与原文件共享相同的 inode 编号和数据块
  2. 等同性:创建后,硬链接与原文件完全等同,没有主从之分
  3. 跨文件系统限制:硬链接不能跨不同的文件系统创建
  4. 目录限制:普通用户不能为目录创建硬链接(超级用户可以使用特殊方法)

实际应用示例

创建硬链接

bash 复制代码
$ touch original.txt
$ link original.txt hardlink.txt
$ ls -li
12345 -rw-r--r-- 2 user group 0 Jan 1 10:00 hardlink.txt
12345 -rw-r--r-- 2 user group 0 Jan 1 10:00 original.txt

验证硬链接

bash 复制代码
$ stat original.txt hardlink.txt
# 会显示相同的 inode 编号

与 ln 命令的比较

link 命令功能上等同于 ln 命令不带 -s 选项时的用法:

bash 复制代码
$ ln original.txt another_hardlink.txt

注意事项

  1. 删除原文件后,硬链接仍然可以访问文件内容
  2. 所有硬链接(包括原文件)必须全部删除才会真正释放磁盘空间
  3. 使用 ls -l 查看时,第二列的数字表示该 inode 的链接计数

使用场景

  1. 需要在不同位置访问同一文件内容时
  2. 作为文件备份的轻量级方案
  3. 某些应用程序需要特定路径下的文件时

系统限制

大多数 Linux 系统对单个文件的硬链接数量有限制(通常为 65535),这是由文件系统决定的。

相关推荐
你好潘先生5 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion5716 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站21 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式