Linux下文档之间的链接命令ln与link

Linux软链接原理与工程实践:从ln -s命令深入文件系统底层 符号链接(Symbolic Link)是Linux文件系统中实现路径间接引用的核心机制,其本质是内核VFS层对目标路径字符串的动态重解析,区别于共享inode的硬链接。它支撑着跨文件系统挂载、多版本工具切换、DevOps环境标准化等关键能力,技术价值在于解耦逻辑路径与物理存储,提升配置可维护性与部署一致性。典型应用场景包括CLI命令别名管理、容器镜像构建中的依赖组织、dotfiles版本化同步,以及WSL/跨平台开发中的路径兼容性适配。本文结合inode结构、symlinkat系统调用、相对/绝对路径语义差 阅读详情

众所周知在Linux下我们可以通过ln命令和link命令在不同的文档之间创建连接关系,但这个过程并没有这么简单,比如创建的连接可以是hard link 或者是symbolic link,也可以创建一个目录(Directory)的连接,本文通过对ln 和 link 命令的研究为读者展示Linux下文档之间的链接。

硬链接(Hard Link)

连接的作用是在linux文件系统中把文件名和硬盘上实际的字节联系起来。比如:

echo "hello world! " > test1.txt
ln test1.txt test2.txt

此时用cat命令可以看到:

cat test2.txt
hello world!

当我们在文件系统中建立一个叫做test1的文档的时候,操作系统就把字节写入到磁盘上,并且与外部的一个文件名链接起来。如果我们修改文件名,文件本身的信息并没有改变,只是指向数据的信息改变了。


如果删除其中的任何一个文件名:

rm test1.txt
cat test2.txt
hello world!

link 如果不带任何参数,则作用和ln相同,他们的相同作用都是创立文件名和数据的硬链接,即每一个文件名都独立链接到数据上,所以上文中删除了test2.txt 并不影响test1.txt的存在,这是跟符号链接最不相同的一点。

符号链接(Symbolic Link)

ln -s test1.txt test2.txt

ln还可创建符号链接,如上所示,则文件名test2.txt就是test1.txt的符号链接,test2.txt并没有指向test1.txt指向的数据,而是指向了test1.txt,所以符号链接可以理解成链接的链接。

rm test2.txt
cat test1.txt
cat: test2.txt: No such file or directory

如果删除test1.txt则test2.txt也无法解析。与硬链接不同的是符号链接可以链接不同分区的文档,或者创建目录的链接。

创建目录链接

ln -s /home/a2/test/ file
cd file
cd ..
rm file

通过创立符号链接之后就可以通过链接执行目录命令了,比如cd,需要注意的是这时候如果要用rm命令,则不用家-r参数。利用符号链接可以使非常长的路径名变得便于书写。

ln命令语法详解

ln [OPTION]...  TARGET LINK_NAME

  • -b如果目标文件已经存在,就创建目标文件的备份,例如:
echo "It is a great time" >test2.txt
ln -b test1.txt test2.txt
ls
test1.txt test2.txt test2.txt~
cat test2.txt
hello world!
cat test2.txt~
It is a great time
  • -f如果目标文件存在,就覆盖目标文件:
echo "It is great time">test2.txt
ln -f test1.txt test2.txt
ls
test1.txt test2.txt
cat test2.txt
hello world!

如果目的文档本身是一个链接是,ln命令默认解引用链接:

ln -s test1.txt test2.txt
ln test2.txt test3.txt
rm test2.txt 
cat test3.txt
hello world!
  • -i 链接时询问是否覆盖目标文件
    如过ln命令缺省目标文件,则默认在当前目录创建链接
ln -s ~/test/
ls
test1.txt test

扫描二维码关注公众号,获取今年最新面试资料和电子书文档

在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020120123225629.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0REX0RkZGQ=,size_16,color_FFFFFF,t_70#pic_center在这里插入图片描述

STM32 HAL库驱动BMP388:从寄存器配置到高精度气压温度采集 本文详细介绍了如何使用STM32 HAL库驱动BMP388气压温度传感器,实现高精度数据采集。内容涵盖从硬件连接到STM32CubeMX配置、关键寄存器解析、驱动源码编写,到核心补偿算法与海拔换算的完整流程,并提供了针对不同应用场景的优化配置与调试技巧,帮助开发者快速构建稳定可靠的测量方案。 阅读详情

相关推荐

分布式推理服务(策略:数据并行、张量并行、流水线并行、专家并行)技术分析

摘要:分布式推理突破单GPU内存和算力限制,支持大模型部署。四种核心策略包括: 数据并行:复制模型拆分数据,提升吞吐但内存效率低; 流水线并行:模型分阶段执行,支持超大模型但存在计算气泡; 张量并行:拆分层内矩阵运算,延迟低但通信开销大; 专家并行:动态激活MoE模型专家,计算高效但路由复杂。实际应用中常组合策略(如3D并行),需权衡模型规模、硬件条件与性能目标。

技术引领业务创新 946

Linux符号链接原理与实战:从ln命令到生产故障排查

符号链接(Symbolic Link)是Unix-like系统中实现文件路径间接引用的基础机制,其本质是在文件系统中创建一个存储目标路径字符串的独立inode。该机制不复制数据、不依赖inode编号,因而支持跨文件系统、指向目录及悬空状态,但也带来路径解析依赖工作目录、权限由目标决定等关键约束。在开发环境多版本管理、运维零停机配置切换、CI/CD构建路径压缩及命令未找到(command not found)类故障定位中,符号链接展现出不可替代的技术价值。本文结合ln -s命令行为、readlink -f追踪

wjxbj的博客 779

第二十届全国大学生智能汽车竞赛极速光电组:MicroPython与恩智浦RT1021的硬件编程实战指南

本文为参加第二十届全国大学生智能汽车竞赛极速光电组的同学提供了一份详尽的MicroPython与恩智浦RT1021硬件编程实战指南。文章深入剖析了选择MicroPython与RT1021这对组合的优势,详细讲解了从开发环境搭建、基础硬件控制(如GPIO、PWM、编码器、CCD)到系统集成(平衡控制、循迹算法)与多任务调试的全过程,旨在帮助参赛者降低嵌入式开发门槛,高效备赛。

wdx0123456的博客 846

linux基础命令

linux基础

weixin_68288786的博客 1519

第八章 MobileNetv3网络详解

本文介绍了基于互补的搜索技术和新颖的架构设计的MobileNets的下一代。MobileNetV3通过硬件感知网络架构搜索(NAS)和NetAdapt算法相结合,针对移动电话CPU进行优化,随后通过新颖的架构改进技术进行了进一步提高。本文开始探索自动化搜索算法和网络设计如何相互协作,以利用互补的方法改进整体技术水平。通过此过程,我们创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用情况。

ADICDFHL的博客 1万+

铁路场景雷达点云目标识别与追踪系统

本文介绍了一种基于毫米波雷达的铁路货运车站安全监控系统。该系统采用分布式架构,通过多个毫米波雷达节点采集点云数据,经过坐标转换、多雷达融合等处理后,利用机器学习算法实现列车、行人等目标的实时识别与追踪。系统包含数据采集层、处理层、目标识别层、追踪层、预警决策层和可视化层,能够克服传统视频监控受环境影响大的缺点,实现全天候可靠监测。文中详细展示了雷达数据解析和点云预处理的代码实现,包括坐标转换、数据格式解析和体素网格滤波等关键技术。该系统可有效预警铁路场景下的碰撞风险,提升货运车站的安全管理水平。

huanghm88的专栏 125

Linux命令200例:join将两个文件按照指定的键连接起来分析

Linux join 命令是一个可以将两个文件按照指定的键连接在一起的工具。它使用相同的字段值连接两个文件,并输出结果。join-命令适用于需要将多个文件进行联接的场景,通常与排序命令(如 sort)和文本处理命令(如 awk)结合使用。通过本文,我们详细了解了 Linux join 命令的用法及其选项。我们通过几个实际的例子来演示了如何使用 join 命令进行文件联接。join 命令对于需要在 Linux 系统上处理和分析多个文件时非常有用,可以帮助我们高效地处理数据和完成任务。

GitHub质检员 665

利用自己的域名和cloudflare实现邮件转发(无限邮箱注册cursor使用账号) 保姆级图文

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!发现你走远了@mzh原创作品,转载必须标注原文链接欢迎关注『发现你走远了』 专栏,持续更新中欢迎关注『发现你走远了』 专栏,持续更新中『未完待续』

MZH 413

Linux下的链接与ln(link)命令

最近安装了多个版本的python3,涉及到了链接的问题。链接有点像Windows下的快捷方式,本身是一个文件,指向另一个文件或应用程序,也可以指向一个目录。在访问这个链接的时候,等同于访问这个链接所指向的文件或目录。 Linux系统下通过ln命令创建链接,格式为 $ ln -s <src> <link> <src>为表示源文件,及链接需要指向的文件,<link>表示需要创建的链接,比如 $ ln -s /usr/bin/python3.6 /usr/b

星光 5873

Codex 100个真实案例 - 用AI自动生成API测试用例(接口测试全覆盖)

API 测试是保障后端质量的关键环节,但手写测试用例既枯燥又容易遗漏。本案例将展示如何用 Codex 从 Swagger/OpenAPI 规范文档自动生成 pytest 测试用例——包括正常流程测试、边界值测试、异常参数测试、性能压力测试,还能自动生成 Mock 数据和精美的 HTML 测试报告。全程自然语言驱动,让 API 测试覆盖率从 0 飙到 90%+!

yueyeguzhuo的专栏 271

YOLOv11涨点改进| TGRS 2026 顶刊| 注意力改进篇| 引入MSEA多尺度边缘感知注意力,助力红外小目标检测、遥感目标检测、工业缺陷检测、图像去雨雾任务高效涨点

🔥本文提出了一种基于MSEA多尺度边缘感知注意力的YOLOv11改进模型,通过增强网络对边缘、纹理和细粒度信息的感知能力,显著提升复杂背景下的目标检测性能。MSEA模块采用多尺度空洞卷积提取上下文特征,并通过边缘监督和注意力融合机制强化目标边界信息。实验表明该方法在小目标、边界模糊目标和复杂纹理目标检测任务中表现优异,尤其在遥感、工业缺陷和红外检测等场景具有显著优势。文章详细介绍了MSEA的结构原理、核心代码实现、模块配置方法以及三种YOLOv11改进方案.

Ai缝合怪、助力小伙伴高效发论文 185

linux中ln(link)命令创建链接以及链接的删除和更新

     ln(即link) 的功能是为某一个文件在另外一个位置建立一个同步的链接。有两种链接方式,一种是硬链接(hard link),另一种是符号链接(symbolic link),又称软链接。硬链接和原有文件是存储在同一物理地址的两个不同的名字,因此硬链接是相互的;符号链接的内容只是一个所链接文件的文件名,在使用ls –l时,符号链接的第一项的第一位为“l”。      ...

奔牛的博客 8万+

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 142

Linux基础命令-ln创建链接文件

ln(link)命令的主要功能是给源文件建立一个链接文件,系统中存在两种链接文件,一个是硬链接(hard link),一个是软连接(symbolic link)。

不吃羊的小灰灰博客 3320

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

linux为文件创建软链接,linux 创建连接命令 ln s 软链接

linux 创建连接命令 ln s 软链接这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)...

weixin_36378232的博客 1421

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Linux 命令之ln

Linux中有些命令是加上-h,有些需要加上--help才能显示该命令的帮助文档,我都是先 -h,如果提示invalid option,一般会提示用--help来显示帮助信息。 ln --help后会显示如下 Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)                    or:  ln [OPTION]

Openwrt学习之路 1311

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Linux文件链接:硬链接与软链接的原理、区别与应用场景详解

在Linux文件系统中,理解文件链接机制是掌握系统管理的基础。文件链接本质上是通过inode(索引节点)实现文件名与数据块的分离管理,这体现了Linux文件系统的核心设计哲学。从原理上看,硬链接通过多个目录条目指向同一inode,实现文件的“分身术”;而软链接则是独立的特殊文件,存储目标路径信息。这两种链接技术在系统维护、数据备份和软件部署中具有重要价值:硬链接能有效防止误删并节省存储空间,软链接则支持跨分区和目录的灵活映射。实际应用场景包括软件版本管理(如Python版本切换)、配置中心化、快速访问深层目

weixin_30617695的博客 2251

linux in命令,为初学者准备的ln命令教程(5个示例)

当我们在命令行上工作时,您可能需要在文件之间创建链接。这时,您可以可以借助一个专用命令,ln。本教程中,课课家小编将通过一些简单易理解的例子来讨论此工具的基础知识。在此之前,值得一提的是,本教程所有例子都已在 ubuntu 16.04 上测试通过。Linux ln 命令正如你现在所了解的,ln 命令能够让您在文件之间创建链接。下面就是 ln 工具的语法(或者使用其他一些可行的语法)。ln [OPT...

weixin_33139087的博客 919

怎么用计算机算ln*=5,为初学者准备的 ln 命令教程(5 个示例)

原标题:为初学者准备的 ln 命令教程(5 个示例)英文:Himanshu Arora,翻译:Linux中国/ChenYilinux.cn/article-9501-1.html当我们在命令行上工作时,您可能需要在文件之间创建链接。这时,您可以可以借助一个专用命令,ln。本教程中,我们将通过一些简单易理解的例子来讨论此工具的基础知识。在此之前,值得一提的是,本教程所有例子都已在 Ubuntu 16...

weixin_33138675的博客 2137

Linux基础篇学习——文件目录常用管理命令ln,file,cp,find,split,mv

ln 创建链接文件,默认创建硬链接 硬链接 通过索引节点进行链接   一个inode节点号对应了多个文件名,这多个文件互为硬链接,且互不影响 创建语法 ln TARGET LINK_NAME 示例 注意先TARGET,再LINK_NAME 可以看到硬链接的inode节点相同 [root@localhost ~]# touch f1 [root@localhost ~]# ln f1 f2 [ro...

遇见你我看到光 1424

Linux下 ln 命令-软连接

这个命令最常用的参数是-s,需要root用户权限,具体用法是: sudo ln -s 源文件 目标文件 举例: 当前目录是/local,而我经常要访问/usr/local/linux/work 那么我就可以使用在local下建立一个文件linkwork, 然后sudo ln -s /usr/local/linux/work /local/linkwork 即建立两者之间的链接。 删除链接 r...

qq_34300892的博客 546

Linux 下的ln命令

众所周知在Linux下我们可以通过ln命令和link命令在不同的文档之间创建连接关系,但这个过程并没有这么简单,比如创建的连接可以是hard link 或者是symbolic link,也可以创建一个目录(Directory)的连接,本文通过对ln 和 link 命令的研究为读者展示Linux下文档之间的链接。硬链接(Hard Link)连接的作用是在linux文件系统中把文件名和硬盘上实际的字节联

终结大笨狗的博客 524

Linux常用命令55——ln

在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率, ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。本篇学习记录ln命令的基本使用。

chenyijun的专栏 439

linux创建表单命令,Linux基础命令---mkdir,ln

mkdir如果目录不存在,那么就创建目录。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法mkdir[选项]dir2、选项列表选项说明--version显示命令版本信息--help显示帮助文档-m | --mode=MODE设置目录的权限-p | --parents创建多层目录的时候,如果父目录不存在,那么首先创建父目录...

weixin_33613571的博客 251

linux笔记6(软链接)

-- ### 4. 修改源文件名称 将源文件 `a.c` 重命名为 `c.c`: ```bash mv a.c c.c # 再次查看文件列表 ll ``` 关键输出: ``` lrwxrwxrwx. 1 root root 3 Apr 20 06:32 b.c -> a.c -rw-r--r--. 1 root root 70 Mar 23 06:28 c.c ``` - 现象:软链接 `b.c` 仍指向原路径 `a.c`,但 `a.c` 已不存在,软链接失效。- 可链接目录:支持为目录创建软链接。

wqs12_的博客 404
下一篇: 应用ruby打造个性化的有道单词本 (一)
苦味代码
博客等级 码龄12年 83粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值