Linux命令之软链接ln

本文详细介绍了Linux系统中ln命令的使用,包括创建硬链接和软链接的方法及其区别。硬链接不占用额外空间,不允许对目录创建,而软链接可以跨文件系统且能对目录链接。删除源文件,软链接会失效,而硬链接仍可访问文件。了解这些概念有助于提升Linux系统操作效率。

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

概述

ln 命令可以为某个文件或目录在另外一个位置建立软链接,也称为符号链接。类似于 Windows 系统里的快捷方式。lnlink 的缩写。

除了有软链接(symbolic link),还有硬链接(hard link)。软链接可以看成是 Windows 系统中的快捷方式,可以让你快速链接到目标文件或目录,它找到的是原文件名,通过原文件名找到真实的文件或目录,但软链接本身有自己的 indoe。硬链接是透过文件系统的 indoe 产生新的文件名,而不是产生新的文件,即是一个文件使用了多个别名,这个别名与源文件名都指向源文件的 inode

软链接与硬链接的区别:

  • 软链接
    • 软链接以路径的形式存在,类似于Windows系统中的快捷方式。
    • 软链接可以跨文件系统,硬链接不可以。
    • 软链接可以对一个不存在的文件名进行链接。
    • 软链接可以对目录进行链接。
    • ln -s 命令创建软链接。
    • 软链接的 inode 与源文件的不同。
    • 删除软链接和硬链接文件,对源文件本身没有任何影响。
    • 删除源文件,软链接失效。
    • 可以用 ll 命令查看软链接文件末尾位置是否指向另外一个文件来确定它是否是软链接。
  • 硬链接
    • 硬链接,以文件副本的形式存在,实际上不占用空间。
    • 不允许给目录创建硬链接,只能给文件。
    • 硬链接只能在同一个文件系统中才能创建。
    • ln 命令创建硬链接。
    • 硬链接的 inode 与源文件的相同。
    • 删除源文件,硬链接没有影响。但删除源文件和硬链接,整个文件就会被真正删除。
    • 硬链接是源文件的一个别名,硬链接与源文件本质上是同一个文件,所以修改源文件或硬链接文件,相互都会变化。
    • 可以用 ls -i 命令查看源文件的 inode 和硬链接文件的 inode 判断是否是同一个文件。

语法

该命令的语法如下:

ln [参数] [源文件或目录] [目标文件或目录]

该命令支持的选项有:

选项说明
-b为每个已存在的目标文件创建备份文件
-d允许 root 用户建立目录的硬链接
-f强制创建链接,即使目标文件已经存在
-n把指向目录的符号链接视为一个普通文件
-i交互模式,若目标文件已经存在,则提示用户确认进行覆盖
-s对源文件建立符号链接,而非硬链接
-v详细信息模式,输出指令的详细执行过程

注:除了 -s 选项之外,其他选项一般用不上,所以只需要知道如何创建硬链接和软链接即可。

使用

创建硬链接【★★★★★】

给文件创建硬链接的语法如下,创建硬链接成功后,可以用 ls -i 命令查看硬链接文件和源文件的 inode 确定它们是否是同一个文件:

# 语法
ln 源文件 硬链接文件
# 示例
ln /home/lighthouse/test.txt test.hard.link

在这里插入图片描述

创建软链接【★★★★★】

如果要创建软链接,则必须加上 -s 选项。语法如下:

# 语法
ln -s 源文件或目录 目标软链接文件
# 示例
ln -s /home/lighthouse/test.txt test.link
ln -s /home/lighthouse/test test

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值