当前位置: 首页 > news >正文

Linux ln命令教程:如何创建符号链接(附案例详解和注意事项)

Linux ln命令介绍

Linux ln命令(全称:link files)是一个非常重要的命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间²。

Linux ln命令适用的Linux版本

ln命令在所有主流的Linux发行版中都是可用的,包括Ubuntu, Debian, Fedora, CentOS等。在某些较旧的Linux发行版中,可能需要安装coreutils软件包来获取ln命令。可以使用以下命令进行安装:
在CentOS 7中:

[linux@bashcommandnotfound.cn ~]$ sudo yum -y install coreutils

在CentOS 8中:

[linux@bashcommandnotfound.cn ~]$ sudo dnf-y install coreutils

在Debian/Ubuntu中

[linux@bashcommandnotfound.cn ~]$ sudo apt-get -y install coreutils

Linux ln命令的基本语法

ln [options] [source_file] [Link_Name]
ln [options] [source_file] [Directory]

其中,source_file是你想要创建链接的文件,Link_Name是链接的名称,Directory是你想要在其中创建链接的目录¹。

Linux ln命令的常用选项或参数说明

以下是ln命令的一些常用选项:

  • -s:创建软链接(符号链接)
  • -i:交互模式,文件存在则提示用户是否覆盖
  • -f:强制执行,即使目标文件存在,也直接覆盖
  • -n:把符号链接视为一般目录²

Linux ln命令的实例

创建一个指向文件的软链接

[linux@bashcommandnotfound.cn ~]$ ln -s source_file symbolic_link

这个命令会创建一个名为symbolic_link的软链接,该链接指向名为source_file的文件。

创建一个指向目录的软链接

[linux@bashcommandnotfound.cn ~]$ ln -s /mnt/my_drive/movies ~/my_movies

这个命令会在你的主目录下创建一个名为my_movies的软链接,该链接指向/mnt/my_drive/movies目录²。

覆盖已存在的软链接

[linux@bashcommandnotfound.cn ~]$ ln -sf source_file symbolic_link

如果symbolic_link已经存在,这个命令会强制创建一个新的软链接,覆盖旧的链接。

创建硬链接

[linux@bashcommandnotfound.cn ~]$ ln file.txt file.ln

这个命令会创建一个名为file.ln的硬链接,该链接指向名为file.txt的文件。

创建软链接并备份目标文件:

[linux@bashcommandnotfound.cn ~]$ ln --backup file.txt file.bk

这个命令会创建一个名为file.bk的软链接,该链接指向名为file.txt的文件,并且会备份file.txt文件。

创建循环链接:

[linux@bashcommandnotfound.cn ~]$ ln notes circular

这个命令会创建一个名为circular的链接,该链接指向当前工作目录中名为notes的文件。

链接文件到多个目录:

[linux@bashcommandnotfound.cn ~]$ ln part1.txt ../helpdata/sect1 /public/helpdoc/part1

这个命令会创建两个链接,一个在../helpdata/sect1目录,另一个在/public/helpdoc/part1目录,这两个链接都指向名为part1.txt的文件。

链接目录中的所有文件到当前目录:

[linux@bashcommandnotfound.cn ~]$ ln project/*.xdh $PWD

这个命令会创建链接,链接指向project目录中所有以.xdh结尾的文件,链接会被创建在当前工作目录。

Linux ln命令的注意事项

  • 如果你在使用ln命令时遇到了bash: ln: command not found的错误,那么你可能需要安装coreutils软件包来获取ln命令。
  • 在创建软链接时,源文件必须使用绝对路径,否则可能会导致链接失效。
  • 软链接可以跨文件系统,硬链接则不能。

更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux下ln命令用法详解

相关文章:

  • 双荧光素酶报告基因检测(五)
  • 大模型应用_AutoGPT
  • viple与物理机器人(一):线控模拟
  • MySQL InnoDB Replication部署方案与实践
  • EMQX(5.3.1)多机集群部署
  • 总结6种@Transactional注解的失效场景
  • 「差生文具多系列」推荐两个好看的 Redis 客户端
  • 【每日一题】—— B. StORage room(Codeforces Round 912 (Div. 2))(位操作符)
  • 数字孪生技术的应用场景
  • 关于.so文件以及.dll和.lib文件
  • 探索强大的文本搜索工具 - grep
  • mysql:建议使用INT UNSIGNED类型存储IPv4地址
  • Scala 从入门到精通
  • Vue3封装一个轮播图组件
  • 贵州开放大学形成性考核 平时作业 参考试题
  • “大数据应用场景”之隔壁老王(连载四)
  • 【技术性】Search知识
  • Android 控件背景颜色处理
  • canvas 五子棋游戏
  • Computed property XXX was assigned to but it has no setter
  • EOS是什么
  • HTTP请求重发
  • JavaScript-Array类型
  • JDK9: 集成 Jshell 和 Maven 项目.
  • nodejs实现webservice问题总结
  • redis学习笔记(三):列表、集合、有序集合
  • SpringBoot几种定时任务的实现方式
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 从PHP迁移至Golang - 基础篇
  • 回顾2016
  • 前嗅ForeSpider教程:创建模板
  • 如何合理的规划jvm性能调优
  • 数据仓库的几种建模方法
  • 思考 CSS 架构
  • 微信小程序:实现悬浮返回和分享按钮
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 智能合约开发环境搭建及Hello World合约
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​插件化DPI在商用WIFI中的价值
  • ​低代码平台的核心价值与优势
  • # 数据结构
  • $jQuery 重写Alert样式方法
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)fiber的基本认识
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net 调用php,php 调用.net com组件 --
  • .Net 高效开发之不可错过的实用工具
  • .net 获取url的方法
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈