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 分钟前
Docker一键部署open-resume简历生成器
运维·docker·容器
丑过三八线10 分钟前
Runc 深度解析:从原理到实操
java·linux·开发语言·docker·容器·rpc
沉在嵌入式的鱼11 分钟前
Jetson系列集成第三方库和应用程序到镜像方案
运维·服务器
手可摘星辰的少年21 分钟前
Linux字符设备驱动的实现与QEMU验证
linux
手可摘星辰的少年21 分钟前
使用额外ext4磁盘镜像在QEMU中传递与加载内核模块
linux
weixin_6042366727 分钟前
华三 二层交换机 企业完整正式版配置
运维·网络·华为·华为交换机命令
qq_4523962335 分钟前
第三篇:《Kubectl 常用命令与资源管理》
运维·kubelet
hai31524754339 分钟前
libcore_final.c —— 九章数流矩阵系统
linux·运维·网络
@Ma41 分钟前
企业微信外部群的消息自动化:从协议层到工程实践
运维·自动化·企业微信
zh路西法1 小时前
【RDKX5交叉编译】基于 QEMU 的 RDK X5 ARM64 rootfs 镜像定制与 chroot 开发环境搭建
linux