『运维备忘录』之 Ln 文件链接命令详解

news2024/9/20 11:01:02

运维人员不仅要熟悉操作系统、服务器、网络等知识,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大家喜欢。

今天我们要讲的是 Ln 命令


一、简介

ln 命令用于创建文件的链接,这种链接可以分为硬连接(hard_link)和软连接(symbolic_link,也称为符号连接)两种类型。硬连接是一种特殊的文件链接,它允许数据共享但不会消耗额外的磁盘空间;而软链接则是一个指向目标的指针,但不包含任何实际的数据内容。要创建软连接,需要使用`-s`选项。

换句话说:软连接相当于Windows系统中的快捷方式文件,原始文件被移动或删除后,软连接文件也将无法使用;硬连接则是将文件的inode属性块进行了复制,因此把原始文件移动或删除后,硬链接文件依然可以使用。

1.1. 硬连接和软连接的区别

硬链接
软链接

1.1.1 本质区别

硬链接:本质是同一个文件
软链接:本质不是同一个文件

1.1.2. 跨设备区别

硬链接:不支持
软链接:支持

1.1.3. inode区别

硬链接:相同
软链接:不同

1.1.4. 链接数

硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少
软链接:创建或删除,链接数不会变化

1.1.5. 文件夹

硬链接:不支持
软链接:支持

1.1.6. 相对路径

硬链接:原始文件相对路径是相对于当前工作目录
软链接:原始文件的相对路径是相对于链接文件的相对路径

1.1.7. 删除源文件

硬链接:只是链接数减一,但链接文件的访问不受影响
软链接:链接文件将无法访问

1.1.8. 文件类型

硬链接:和原文件相同
软链接:链接文件,和原文件无关

1.1.9. 文件大小

硬链接:和原文件相同
软链接:原文件的路径的长度

二、基本用法

语法格式:

$ ln [options] FILE_NAME LINK_NAME

参数选项:

选项描述
-s对源文件创建软链接
-S设置备份文件的后缀
-b为已存在的目标文件创建备份
-d允许管理员创建目录的硬链接
-f强制创建链接而不询问
-i若目标文件已存在,则需要用户二次确认
-L若目标文件为软链接,找到其对应文件
-n将指向目录的软链接视为普通文件
-P若目标文件为软链接,直接链接它自身
-t设置链接文件存放于哪个目录
-v显示执行过程详细信息
-backup备份已存在的文件
-help显示帮助信息
-version显示版本信息

三、参考示例

3.1. 为指定的源文件创建链接(默认为硬链接形式)

$ ln file1.txt file2.txt

3.2. 为指定的源文件创建链接(设定为软链接形式)

$ ln -s file1.txt file2.txt

3.3. 强制创建文件链接(会覆盖原链接)

$ ln -sf file1.txt file2.txt

3.4. 删除文件链接

$ rm file2.txt

日常中最常用的实际就是上述几个啦。

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

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

相关文章

Linux编译器---gcc/g++使用详解

目录 前言 gcc/g介绍 gcc/g的编译指令(以gcc为例) ​编辑 gcc选项 预处理(进行宏替换) 编译(生成汇编) 汇编(生成机器可识别代码) 链接(生成可执行文件或库文件) 函数库 概念 …

电气机械5G智能工厂数字孪生可视化平台,推进电气机械行业数字化转型

电气机械5G智能工厂数字孪生可视化平台,推进电气机械行业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的重要趋势。电气机械行业作为传统制造业的重要组成部分,也面临着数字化转型的挑战和机遇。为了更好地推进电气机械行…

嵌入式stm32软件开发——中断概念

中断就是异常,异常就是中断 关注我,共同交流,一起成长 一、中断基础概念二、中断的编程要点三、中断控制器组四、关于EXIT外部中断 一、中断基础概念 关于中断这个东西,简单来说是程序进展过程中的重要节点,而在中断这…

C 嵌入式系统设计模式 10:中介者模式

本书的原著为:《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》,讲解的是嵌入式系统设计模式,是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述访问硬件的设计模式之三&…

https://registry.npm.taobao.org淘宝npm镜像仓库地址更新

在工作中有遇见获取淘宝的npm镜像存在问题,图示如下的报错: 根据报错的内容是说 https://registry.npm.taobao.org地址访问失败了,然后通过排查发现淘宝的npm镜像仓库地址有更新了。需要使用最新的地址 旧的淘宝镜像仓库:https://…

如何进行高性能架构的设计

一、前端优化 减少请求次数页面静态化边缘计算 增加缓存控制:请求头 减少图像请求次数:多张图片变成 一张。 减少脚本的请求次数:css和js压缩,将多个文件压缩成一个文件。 二、页面静态化 三、边缘计算 后端优化 从三个方面进…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的鸟类识别系统(Python+PySide6界面+训练代码)

摘要:本文详细阐述了一个利用深度学习进行鸟类识别的系统,该系统集成了最新的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等先前版本进行了性能比较。该系统能够在图像、视频、实时视频流和批量文件中精确地识别和分类鸟类。文中不仅深入讲解了YO…

10.Halcon形态学膨胀,腐蚀,开运算,闭运算

膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程。 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 开运算: 先腐蚀后膨胀的过程称为开运算。 作用 : 去除孤立的小点,毛刺,消除小物体,平滑较大物体边界,同时不改变其面积. 闭运…

用友U8库存展望数据显示错误

1、库存展望显示有订单在途。 2、双击查看明细,显示某个采购订单显示有预计入库量。 3、查询该采购订单,发现已入库完成未退货,确定为数据异常。 修改采购订单表体的iReceivedQTY(累计到货数量)字段后,恢复正常。 UPDATE dbo.PO_…

koa项目部署云服务器(部署本地虚拟机中)

文章目录 一、服务器安装Node、MySQL1.1. 安装Node.js1.2. 安装MySQL1.3.配置MySQL1.4. 数据库迁移 二. 部署Node项目2.1. 代码托管到Git仓库(选做)2.2. 代码clone到服务器(选做)2.3. VSCode中打开代码(推荐&#xff0…

A股风格因子看板 (2024.2 第08期)

该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格景 露等。 今日为该因子跟踪第8期,指数组合数据截止日2024-01-31,要点如下 近1年A股风格因子收益走…

Android约束布局中用ConstraintHelper实现过渡动画效果

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 一.创建一个类CircularRevealHelper继承ConstraintHelper代码如下 /*** Author: ly* Da…

机器学习基础(二)监督与非监督学习

导语:更深入地探讨监督学习和非监督学习的知识,重点关注它们的理论基础、常用算法及实际应用场景。 上一节我们深入探索机器学习的根本原理,包括基本概念、分类及如何通过构建预测模型来应用这些理论,详情可见: 机器学…

centos中安装go

安装过程 (1)源码二进制下载地址 wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz (2)将下载的二进制包解压至 /usr/local目录。 tar -C /usr/local/ -xzf go1.13.5.src.tar.gz (3)设置环…

自定义电子凸轮曲线的运动:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十三)

PCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能,结合MotionRT7运动控…

week04day03(爬虫 beautifulsoup4、)

一. 使用bs4解析网页 下载bs4 - pip install beautifulsoup4 使用的时候 import bs4专门用于解析网页的第三方库 在使用bs4的时候往往会依赖另一个库lxml pip install lxml 网页代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><…

使用redisMQ-spring-boot-starter实现消息队列和延时队列

简介 redisMQ-spring-boot-starter是一个轻量级的、基于Redis实现的消息队列中间件&#xff0c;它有如下优点&#xff1a; 开箱即用&#xff0c;你几乎不用添加额外的配置支持消息队列、延时队列&#xff0c;并提供精细化配置参数提供消息确认机制支持虚拟空间&#xff0c;不…

华为算法题 go语言或者ptython

1 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的景区垃圾识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;本文介绍了一个先进的基于深度学习的景区垃圾检测系统&#xff0c;该系统集成了最新的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5等前代算法进行了性能对比&#xff0c;通过对比实验证明了其在图像、视频、实时视频流和批量文件处理中对景区垃圾进行精…

【深度学习笔记】3_1 线性回归

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 3.1 线性回归 线性回归输出是一个连续值&#xff0c;因此适用于回归问题。回归问题在实际中很常见&#xff0c;如预测房屋价格、气温、销售额等连续值的问题。与回归问…