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),这是由文件系统决定的。

相关推荐
分布式存储与RustFS14 分钟前
K8s 集群备份落到自建对象存储:Velero 接 RustFS 配置指南
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
Liuqy-0522 分钟前
IO模型与并发服务器
服务器·网络·select·多线程·epoll·并发服务器·io多路复用
镜子AI9 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo10 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
HideF10 小时前
Linux sudo
linux
FlightYe10 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎11 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
知已难寻12 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning12 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi12 小时前
【Linux】C语言文件操作
linux