【busybox记录】【shell指令】ln

目录

内容来源:

【GUN】【ln】指令介绍

【busybox】【ln】指令介绍

【linux】【ln】指令介绍

使用示例:

创建链接文件 - 链接文件(默认 - 硬链接)

创建链接文件 - 链接文件(软链接)

创建链接文件 - 根据软链接创建一个指向原始文件的硬链接

创建链接文件 - 根据软链接创建一个指向软链接的硬链接

创建链接文件 - 链接成功后打印每个文件的名称

创建链接文件 - 链接文件夹(系统限制会失败)

创建链接文件 - 链接文件夹

创建链接文件 - 删除软连接

创建链接文件 - 不删除链接的情况下,更换链接

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【ln】指令介绍

ln:建立文件间的链接
ln 在文件之间建立链接。默认情况下,它会创建硬链接;使用-s选项,可以生成符号链接(或软链接)。
简介:
ln [option]... [-T] target linkname
ln [option]... target
ln [option]... target... directory
ln [option]... -t directory target...
如果给出了两个文件名,ln将从第二个文件创建到第一个文件的链接。
如果指定了一个目标,ln将在当前目录中创建指向该文件的链接。
如果指定了--target-directory (-t)选项,如果最后一个文件是一个目录,并且没有指定--no-target-directory (-t)选项,ln将使用目标文件的名称创建指向指定目录中的每个目标文件的链接。
通常情况下,ln不会替换现有文件。使用--force (-f)选项无条件地替换它们,使用--interactive (-i)选项有条件地替换它们,使用--backup (-b)选项重命名它们。除非使用--backup (-b)选项,否则不会有目的地不存在的短暂时刻;这是POSIX的扩展。
硬链接是现有文件的另一个名称。链接和原始是无法区分的。从技术上讲,它们共享同一个inode,而inode包含了一个文件的所有信息。实际上,将该inode称为文件并不错误。大多数系统禁止建立到目录的硬链接;在允许循环的地方,只有超级用户可以这样做(要小心,因为创建循环会给许多其他实用程序带来问题)。硬链接不能跨文件系统边界。(但POSIX没有强制要求这些限制。)
另一方面,符号链接(简称符号链接)是一种特殊的文件类型(并非所有内核都支持该类型:System V release 3(和更老的)系统都没有符号链接),其中的链接文件实际上是指另一个文件。在向符号链接文件传递大多数操作(打开、读取、写入,等等)时,内核自动解引该链接,并对链接的目标进行操作。但有些操作(例如删除)是针对链接文件本身进行的,而不是针对目标。
符号链接的所有者和所属组对通过该链接执行的文件访问不重要,但从设置了限制删除位的目录中删除符号链接时,会有影响。在GNU系统上,符号链接的模式没有意义,不能改变,但在一些BSD系统上,可以改变符号链接的模式,这会影响文件名解析时是否遍历该符号链接。请参阅GNU C库参考手册中的“符号链接”一节。
符号链接可以包含任意字符串;当符号链接中的字符串没有解析为文件时,就会出现悬空符号链接。对于创建悬挂符号链接没有限制。使用绝对符号链接和相对符号链接是有权衡的。绝对符号链接总是指向同一个文件,即使包含该链接的目录已经移动。但如果符号链接在多台机器上可见(例如在网络文件系统上),则所指向的文件可能并不总是相同的。
相对符号链接是根据包含该链接的目录解析的,通常用于引用同一设备上的文件,而不管通过联网的机器访问装载的设备的名称。
当在与当前目录不同的位置创建相对符号链接时,符号链接的解析将与当前目录中相同字符串的解析不同。因此,许多用户喜欢先将目录更改为相对符号链接将要创建的位置,这样制表符补全或其他文件解析将找到与将放置在符号链接中的内容相同的目标。
该程序接受以下选项。参见第2章[常见选项],第2页。‘-b’
‘--backup[=method]’参见第2.1节[备份选项],第2页。备份每个文件,否则将被覆盖或删除。
‘-d’
‘-F’
‘--directory’允许具有适当权限的用户尝试建立到目录的硬链接。但是,由于系统限制,这可能会失败,即使对超级用户也是如此。
‘-f’
‘--force’ 删除现有的目标文件。
‘-i’
‘--interactive’提示是否删除现有的目标文件,如果响应不肯定则失败。
‘-L’
‘--logical’如果-s无效,且源文件是符号链接,则创建指向该符号链接引用的文件的硬链接,而不是符号链接本身。
‘-n’
‘--no-dereference’如果最后一个操作数是指向目录的符号链接,请不要特别对待它。相反,把它当作一个普通的文件。如果目标是一个实际的目录(而不是指向某个目录的符号链接),就不会有歧义。该链接在该目录中创建。但是,当指定的目标是指向目录的符号链接时,有两种方法处理用户的请求。Ln可以像对待普通目录一样对待目标,并在其中创建链接。另一方面,可以将目标视为非目录——即符号链接本身。在这种情况下,ln必须在创建新链接之前删除或备份该符号链接。默认情况下,将指向目录的符号链接视为目标,就像对待目录一样。这个选项比 --no-target-directory (-T)选项弱,所以如果同时提供了这两个选项,它不会起作用。
‘-P’
‘--physical’如果-s无效,且源文件是符号链接,则创建指向符号链接本身的硬链接。在内核不支持的平台上,该选项创建一个内容相同的符号链接。由于符号链接内容不能编辑,因此通过任何链接执行的任何文件名解析都将与创建硬链接时相同。
‘-r’
‘--relative’创建相对于链接位置的符号链接。这个选项只对--symbolic选项有效。例子:ln -srv /a/file /tmp'/tmp/file' -> '../a/file'相对符号链接根据其被规范化的包含目录和被规范化的目标生成。也就是说,这些文件名中的所有符号链接都会被解析。参见18.5节[realpath调用],第179页,它对相对文件名生成提供了更大的控制,如下面的例子所示:ln --relative() {test "$1" = --no-symlinks && { nosym=$1; shift; }target="$1";test -d "$2" && link="$2/." || link="$2"rtarget="$(realpath $nosym -m "$target" \--relative-to "$(dirname "$link")")"ln -s -v "$rtarget" "$link"}
‘-s’
‘--symbolic’制作符号链接而不是硬链接。在不支持符号链接的系统上,此选项仅产生错误消息。
‘-S suffix’
‘--suffix=suffix’为每个用-b生成的备份文件添加后缀。参见第2.1节[备份选项],第2页。
‘-t directory’
‘--target-directory=directory’指定目标目录。参见第2.6节[目标目录],第7页。
‘-T’
‘--no-target-directory’当最后一个操作数是目录或指向目录的符号链接时,不要特别对待它。参见第2.6节[目标目录],第7页。
‘-v’
‘--verbose’链接成功后打印每个文件的名称。如果-L和-P都给定,则最后一个优先。如果同时给出了-s, -L和-P将被静默地忽略。如果这两个选项都没有给出,那么如果系统链接支持指向符号链接的硬链接(如GNU系统),则该实现默认为-P;如果link在符号链接之后(如BSD上),则默认为-L。
退出状态为零表示成功,非零值表示失败。例子:
不好的例子:# 创建链接../a指向该目录中的a。# 不是很有用,因为它指向自己。ln -s a ..
更好的例子:#在创建符号链接之前更改target,以避免混淆。cd ..ln -s adir/a .
不好的例子:#硬编码的文件名难以移动。ln -s $(pwd)/a /some/dir/
更好的例子:#相对文件名在目录移动后仍然有效#跨网络文件系统工作。ln -s afile anotherfileln -s ../adir/afile yetanotherfile

【busybox】【ln】指令介绍

【linux】【ln】指令介绍

[root@localhost bin]# ln --help
Usage: ln [OPTION]... [-T] TARGET LINK_NAMEor:  ln [OPTION]... TARGETor:  ln [OPTION]... TARGET... DIRECTORYor:  ln [OPTION]... -t DIRECTORY TARGET...
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
By default, each destination (name of new link) should not already exist.
When creating hard links, each TARGET must exist.  Symbolic links
can hold arbitrary text; if later resolved, a relative link is
interpreted in relation to its parent directory.必选参数对长短选项同时适用。--backup[=CONTROL]	为每个已存在的目标文件创建备份文件-b				类似--backup,但不接受任何参数-d, -F, --directory		创建指向目录的硬链接(只适用于超级用户)-f, --force			强行删除任何已存在的目标文件-i, --interactive           prompt whether to remove destinations-L, --logical               dereference TARGETs that are symbolic links-n, --no-dereference        treat LINK_NAME as a normal file ifit is a symbolic link to a directory-P, --physical              make hard links directly to symbolic links-r, --relative              create symbolic links relative to link location-s, --symbolic              make symbolic links instead of hard links-S, --suffix=SUFFIX         override the usual backup suffix-t, --target-directory=DIRECTORY  specify the DIRECTORY in which to createthe links-T, --no-target-directory   treat LINK_NAME as a normal file always-v, --verbose               print name of each linked file--help		显示此帮助信息并退出--version		显示版本信息并退出The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:none, off       不进行备份(即使使用了--backup 选项)numbered, t     备份文件加上数字进行排序existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份simple, never   永远使用普通方式备份Using -s ignores -L and -P.  Otherwise, the last option specified controls
behavior when a TARGET is a symbolic link, defaulting to -P.GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 ln 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/ln>
或者在本地使用:info '(coreutils) ln invocation'
[root@localhost bin]# 

使用示例:

创建链接文件 - 链接文件(默认 - 硬链接)

默认是创建硬链接

指令: ln test test_link

创建链接文件 - 链接文件(软链接)

-s 选项可以创建软连接

指令: ln -s test test_link

创建链接文件 - 根据软链接创建一个指向原始文件的硬链接

-L  如果-s无效,且源文件是符号链接,则创建指向该符号链接引用的文件的硬链接,而不是符号链接本身。

指令: ln -L test_link test_link_1

创建链接文件 - 根据软链接创建一个指向软链接的硬链接

-P 如果-s无效,且源文件是符号链接,则创建指向符号链接本身的硬链接。在内核不支持的平台上,该选项创建一个内容相同的符号链接。由于符号链接内容不能编辑,因此通过任何链接执行的任何文件名解析都将与创建硬链接时相同。

指令: ln -P test_link test_link_2

创建链接文件 - 链接成功后打印每个文件的名称

-v 选项

指令:ln -v test_link test_link_3

创建链接文件 - 链接文件夹(系统限制会失败)

允许具有适当权限的用户尝试建立到目录的硬链接。但是,由于系统限制,这可能会失败,即使对超级用户也是如此。

-d -F --directory 选项

指令: ln -d bin/ test_bin

指令: ln -F bin/ test_bin

创建链接文件 - 链接文件夹

-r 选项,创建相对于链接位置的符号链接。这个选项只对--symbolic选项有效。

-sr 选项

指令: ln -srv bin/ bin_1

创建链接文件 - 删除软连接

删除文件夹时,不要在后面加 /。

指令:rm -rf bin_1

创建链接文件 - 不删除链接的情况下,更换链接

-f 选项 -n选项

指令:ln -s test1 test3

更换软链接

指令:ln -snf test2 test3

指令:ln  test1 test3

更换硬链接

指令:ln  test2 test3

常用组合指令:

NA

指令不常用/组合用法还需继续挖掘:

NA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JeeSite 4.x and 5.x快速开发平台前端技术探索与实践

一、引言 随着企业信息化建设的不断推进&#xff0c;对于快速、高效、安全的企业级应用需求日益增长。JeeSite作为一款企业级快速开发平台&#xff0c;以其强大的后端功能和灵活的前端架构&#xff0c;为开发者提供了强大的支持。本文旨在探讨JeeSite快速开发平台在前端技术方…

新零售收银解决方案:传统门店超市的数字化-亿发

在数字化浪潮的推动下&#xff0c;零售行业正经历着前所未有的变革。阿里巴巴提出的“新零售”概念&#xff0c;不仅仅是一个商业口号&#xff0c;它代表了一种全新的商业模式和运营理念。随着时代的进步和消费需求的不断升级&#xff0c;新零售的兴起已成为行业发展的必然趋势…

学习笔记之——2D Gaussian Splatting(2DGS)

3DGS在辐射场重建中取得了巨大的成就&#xff0c;实现高质量的新视图合成和快速渲染。最近新出了3DGS的升级版本&#xff0c;2DGS。写下本博文记录本人学习及测试2DGS的过程&#xff0c;本博文仅为本人学习记录用~ Project WebsiteGithub CodeOriginal paper 目录 原理解读 …

企业级OV SSL证书的应用场景和加密手段

为了保护数据传输的安全性与用户隐私&#xff0c;企业级OVSSL&#xff08;Organization Validation SSL&#xff09;证书成为众多企业的首选安全解决方案。本文将深入探讨OVSSL证书的应用场景及其实现数据加密的核心手段&#xff0c;为企业构建坚不可摧的在线信任桥梁提供指南。…

YOLOv8+PyQt5车辆类型检测系统完整资源集合(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

资源包含可视化的车辆类型检测系统&#xff0c;基于最新的YOLOv8训练的车辆类型检测模型&#xff0c;和基于PyQt5制作的可视化车辆类型检测系统&#xff0c;包含登陆页面、注册页面和检测页面&#xff0c;该系统可自动检测和识别图片或视频当中出现的21种车辆类型&#xff0c;包…

语音控制系统的安全挑战与防御策略(上)

语音控制系统&#xff08;VCS&#xff09;提供了便捷的用户界面&#xff0c;涉及智能家居、自动驾驶汽车、智能客服等众多应用场景&#xff0c;已成为现代智能设备不可或缺的一部分。其市场规模预计到2023年达到70亿美元&#xff0c;这种扩张带来了重大的安全挑战&#xff0c;如…

基于ViutualBox+Ubuntu(Linux)的开发环境搭建

实际在选择虚拟机的时候纠结了要用virualbox还是vmware&#xff0c;初步比较结果&#xff1a; 1.virualbox能够使用vmware的硬盘格式&#xff0c;因此可以自由选择。 2.都能够实现主机和宿主机之间的文件夹共享。 3.virualbox是自由软件&#xff0c;vmware是商业软件。 在功能上…

【SCAU操作系统】实验二页面置换算法的模拟实现及命中率对比python源代码及实验报告参考

一、课程设计目的 通过请求页式管理方式中页面置换算法的模拟设计&#xff0c;了解虚拟存储技术的特点&#xff0c;掌握请 求页式存储管理中的页面置换算法。 二、课程设计内容 模拟实现 OPT &#xff08;最佳置换&#xff09;、 FIFO 和 LRU 算法&#xff0c;并计算缺页…

JUC从实战到源码:CompletableFuture详细学习

【JUC】- CompletableFuture详细学习 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习心得&#xf…

读人工智能时代与人类未来笔记17_人类未来

1. 人类未来 1.1. 在印刷读物出现之前&#xff0c;中世纪的欧洲人主要通过社区传统获取知识 1.1.1. 通过参与收割和季节轮作积累民间智慧 1.1.2. 在礼拜场所践行信仰并遵守圣礼 1.1.3. 加入行业公会&#xff0c;学习技术&…

补环境——A股市场

补环境 吐环境 1.Proxy对象 Proxy对象由两个部分组成&#xff1a;target、handler target:目标对象 handler&#xff1a;是一个对象&#xff0c;声明了代理target的指定行为&#xff0c;支持的拦截操作&#xff0c;一共13种&#xff1a; get(target,propKey,receiver)&…

Java特性之设计模式【备忘录模式】

一、备忘录模式 概述 备忘录模式&#xff08;Memento Pattern&#xff09;保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象&#xff0c;备忘录模式属于行为型模式 备忘录模式允许在不破坏封装性的前提下&#xff0c;捕获和恢复对象的内部状态 主要解决&#xff…

【硬核测评】猫咪主食冻干测评揭秘SC、希喂、爱立方真实对比测评

主食冻干喂养是否必要&#xff1f; 来自七年经验的铲屎官明确告诉你&#xff0c;这是非常必要的喂养方式&#xff01; 随着宠物经济的蓬勃发展和科学养宠知识的普及&#xff0c;如今养猫已不仅仅是让猫咪吃饱那么简单。越来越多的养猫人开始重视猫咪的饮食健康。大量实际喂养案…

电脑如何远程访问?

【天联】的使用场景 电脑远程访问在现代科技的发展中扮演了重要的角色。对于企业和个人用户来说&#xff0c;远程访问的便利性提供了许多机会和可能性。作为一种高效的工具&#xff0c;【天联】具有广泛的应用场景&#xff0c;可以实现异地统一管理、协同办公以及远程数据采集…

【数据结构】AVL树——平衡二叉搜索树

个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 祝福语&#xff1a;愿你拥抱自由的风 目录 二叉搜索树 AVL树概述 平衡因子 旋转情况分类 左单旋 右单旋 左右双旋 右左双旋 AVL树节点设计 AVL树设计 详解单旋 左单旋 右单旋 详解双旋 左右双旋 平衡因子情况如…

阿里开源React应用动效解决方案:ant-motion

ant-motion&#xff1a;简化动效开发&#xff0c;提升用户体验 - 精选真开源&#xff0c;释放新价值。 概览 Ant Motion是由Ant Design团队精心打造&#xff0c;专为React应用设计的动画规范和组件库。它不仅仅是一套动画规范&#xff0c;更是一个完整的解决方案&#xff0c;旨…

C# yolov8 TensorRT Demo

C# yolov8 TensorRT Demo 目录 效果 说明 项目 代码 下载 效果 说明 环境 NVIDIA GeForce RTX 4060 Laptop GPU cuda12.1cudnn 8.8.1TensorRT-8.6.1.6 版本和我不一致的需要重新编译TensorRtExtern.dll&#xff0c;TensorRtExtern源码地址&#xff1a;https://githu…

2024年JAVA、C++、Pyhton学哪种语言更容易进国央企?

对于不同编程语言在进入国有企业的观点大体是正确的&#xff0c;不过在实际选择时还需考虑一些因素。我这里有一套编程入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习编程&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信…

【CSDN独家公开】Python解析.SchDoc格式文件转换为json文件

前情提要 因工作需求&#xff0c;需要解析.SchDoc格式文件&#xff0c;提取文本和位置关系&#xff0c;通常方式是转换为图片或PDF&#xff0c;再进行OCR&#xff0c;但是这样识别精度太低了 Github找了好些项目&#xff0c;都不支持 PyAltium不支持 https://github.com/plu…

apexcharts数据可视化之饼图

apexcharts数据可视化之饼图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式&#xff1a; 基础饼图单色饼图图片饼图 基础饼图 import ApexChart from react-apexcharts;export function SimplePie() {// 数据序列const series [44, 55, 13, 43, 22]// …