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

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

今天我们要讲的是 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.hqwc.cn/news/479831.html

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

相关文章

OpenCV边缘检测与视频读写

原理 OpenCV中的边缘检测原理主要基于图像梯度的计算,包括一阶梯度和二阶梯度。 一阶梯度:它反映了图像亮度变化的速度。Sobel算法就是一种以一阶梯度为基础的边缘检测算法。它通过计算图像在水平和垂直方向上的梯度来检测边缘。这种方法简单有效&…

Java学习心得感悟

在我踏入Java学习的道路之前,我对编程只是一知半解,对于代码的世界充满了好奇和向往。然而,当我真正开始学习Java时,我才意识到,学习Java不仅仅是学习一门编程语言,更是一种思维方式和解决问题的能力的培养…

MySQL的优化

一:概念 在应用的开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐暴露出性能问题,对生产的影响…

[word] 如何将word文本转换成表格? #知识分享#学习方法#媒体

如何将word文本转换成表格? 如何将word文本转换成表格?不管是Word入门新手还是老手,相信这个技巧会让你更加熟练Word,操作起来得心应手! 1.文本转换成表格 同样的要怎么把一堆凌乱的数据转换成表格呢?这里…

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 二叉树简介二叉树分类解题方法制作不易,感谢三连,谢谢啦 二叉树简介 二叉树(Binary Tree)是一种特殊的树形…

脚本项目一

第一题 1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 第一步安装邮件服务 [rootserver ~]# yum install mailx -y [rootserver ~]# vim /etc/mail.rc set from2282475145qq.com se…

C++结合Lambda表达式在函数内部实现递归

529. 扫雷游戏 已解答 中等 相关标签 相关企业 让我们一起来玩扫雷游戏! 给你一个大小为 m x n 二维字符矩阵 board ,表示扫雷游戏的盘面,其中: M 代表一个 未挖出的 地雷,E 代表一个 未挖出的 空方块&#xff…

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者:Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么?它的用途是什么? ES Rally 是一个用于在 Elasticsearch 上测试性能的工具,允许你运行和记录比较测试。 做出决策可能很困难&#x…

Spring两大核心思想:IOC和AOP

目录 IOC:控制反转 Ioc概念 Ioc的优点 Spring Ioc AOP:面向切面编程 AOP的优点 Spring AOP 1.添加依赖 2.核心概念 3.通知的类型 4.切点表达式 5.公共切点 pointCut 6.切面优先级 Order 7.使用自定义注解完成AOP的开发 Spring AOP实现有几种方式? S…

Linux 驱动开发基础知识——APP 怎么读取按键值(十二)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

Qt|大小端数据转换(补充)

Qt|大小端数据转换-CSDN博客 之前这篇文章大小端数据转换如果是小数就会有问题。 第一个方法&#xff1a; template <typename T> static QByteArray toData(const T &value, bool isLittle) {QByteArray data;for (int i 0; i < sizeof(T); i) {int bitOffset…

如何在本地服务器部署TeslaMate并远程查看特斯拉汽车数据无需公网ip

文章目录 1. Docker部署TeslaMate2. 本地访问TeslaMate3. Linux安装Cpolar4. 配置TeslaMate公网地址5. 远程访问TeslaMate6. 固定TeslaMate公网地址7. 固定地址访问TeslaMate TeslaMate是一个开源软件&#xff0c;可以通过连接特斯拉账号&#xff0c;记录行驶历史&#xff0c;统…