Linux 详谈软硬链接

【Linux】软硬链接 && 动静态库(很详细) 世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!提示:以下是本篇文章正文内容,下面案例可供参考Linux系统里路径具有唯一性;(软链接的内容:目标文件所对应的路径字符串。系统对路径进行路径解析,进而找到目标文件。(多了一个找到目标文件的方式)好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。 阅读详情

目录

1. 硬链接

2. 软链接

3. 软硬连接对⽐

4. 软硬连接的⽤途


1. 硬链接

我们看到,真正找到磁盘上⽂件的并不是⽂件名,⽽是inode。其实在linux中可以让多个⽂件名对应于同⼀个inode。

[root@localhost linux]# touch abc
[root@localhost linux]# ln abc def
[root@localhost linux]# ls -li abc def
263466 abc
263466 def

abc和def的链接状态完全相同,他们被称为指向⽂件的硬链接。内核记录了这个连接数,inode263466 的硬连接数为2。

我们在删除⽂件时⼲了两件事情:1.在⽬录中将对应的记录删除,2.将硬连接数-1,如果为0,则将对应的磁盘释放。

2. 软链接

硬链接是通过inode引⽤另外⼀个⽂件,软链接是通过名字引⽤另外⼀个⽂件,但实际上,新的⽂件和被引⽤的⽂件的inode不同,应⽤常⻅上可以想象成⼀个快捷⽅式。在shell中的做法

[root@localhost linux]# ln -s abc.s abc
[root@localhost linux]# ls -li
263563 -rw-r--r--. 2 root root 0 9⽉ 15 17:45 abc
261678 lrwxrwxrwx. 1 root root 3 9⽉ 15 17:53 abc.s -> abc
263563 -rw-r--r--. 2 root root 0 9⽉ 15 17:45 def

acm

下⾯解释⼀下⽂件的三个时间:

Access 最后访问时间

Modify ⽂件内容最后修改时间

Change 属性最后修改时间

3. 软硬连接对比

软连接(符号链接):

  • 是一个独立的文件类型
  • 拥有自己的inode编号
  • 存储的是目标文件的路径信息
  • 删除原文件后,软连接会失效(称为"悬空链接")
  • 示例:ln -s source.txt softlink.txt

硬链接:

  • 只是文件名和目标文件inode的映射关系
  • 与原文件共享相同的inode编号
  • 本质上与原文件是同一个文件的多个名称
  • 删除原文件后,只要还有硬链接存在,文件内容就不会被删除
  • 示例:ln source.txt hardlink.txt

4. 软硬连接的用途

硬链接的典型应用场景:

  1. 目录中的特殊链接

    • "." 表示当前目录的硬链接
    • ".." 表示父目录的硬链接
  2. 文件备份

    • 创建硬链接可以实现低成本的文件备份
    • 多个硬链接指向同一文件时,修改任意一个都会影响其他链接
    • 只有当所有硬链接都被删除,文件才会真正被删除
  3. 系统优化

    • 某些系统文件会使用硬链接来节省存储空间
    • 如Linux系统中/bin和/usr/bin目录下的相同命令文件

软连接的典型应用场景:

  1. 类似Windows快捷方式

    • 可以跨文件系统创建
    • 可以链接到目录
    • 示例:ln -s /mnt/network_share/ ~/desktop/share
  2. 版本管理

    • 创建软链接指向不同版本的软件
    • 示例:ln -s python3.9 python
  3. 路径简化

    • 为长路径创建简短的软链接
    • 示例:ln -s /var/www/html/project/current ~/www
  4. 系统维护

    • 临时重定向文件或目录
    • 在不移动实际文件的情况下改变访问路径
linux中,软硬链接的作用和使用 介绍linux中软硬链接的介绍和使用。还包括一些文件系统和链接知识相关的部分,例如inode用来维护文件的属性和内容。 阅读详情

相关推荐

第二次 PX4仿真环境搭建过程全记录

参考链接 https://blog.youkuaiyun.com/yanwumuxi/article/details/80097294 https://www.ncnynl.com/archives/201709/2013.html 一、安装依赖项 我们使用Debian / Ubuntu LTS 作为Linux的标准支持版本,但是也支持Cent OS 和 Arch Linux的发行版本。 权限设置 警告:永远...

移步换景的博客 2261

linux的链接方式

熟练掌握linux当中硬链接和软链接的区别

weixin_66078202的博客 3055

Android TV开发:RecyclerView焦点控制实践与优化

在Android TV应用开发中,焦点控制是提升用户体验的关键技术。不同于移动端触摸交互,TV端通过遥控器方向键导航,需要精确的焦点管理机制。RecyclerView作为动态列表的核心组件,其焦点控制涉及视图复用、导航逻辑和视觉反馈等核心技术点。通过合理配置focusable属性、自定义焦点查找算法以及优化动画性能,开发者可以解决TV端常见的焦点跳转异常、视觉反馈延迟等问题。特别是在视频点播、智能家居控制等场景中,良好的焦点控制能显著提升操作效率。本文结合网格布局焦点环绕、分页加载焦点保持等实战案例,深入解

weixin_34195142的博客 468

Linux挂载与软连接

在使用 Linux 时,有时候会因为初始时磁盘空间分配估计不足,使用中需要将挂载点扩容的情况,这就需要我们挂载新的磁盘。但是如果我们在 Linux 运行过程中挂载磁盘, Linux 又不能在不重启的情况下自动识别,这时就需要我们使用下面的操作使 Linux 在不重启的情况下识别新挂载的磁盘。 首先,查看主机总线号,磁盘肯定是有总线连接着的: [root@localhost ~]# ls /sy

lusijie的博客 1万+

Burp Suite手工验证CORS漏洞的四步闭环法

CORS(跨域资源共享)是Web应用实现跨域通信的基础机制,其安全本质在于服务端对Origin头的校验逻辑与响应头组合的语义一致性。当服务端错误地返回Access-Control-Allow-Origin: *并配合Access-Control-Allow-Credentials: true,或采用弱校验(如字符串包含匹配)时,将导致敏感数据泄露与凭据劫持风险。该漏洞难以被自动化扫描器发现,因其依赖请求上下文、认证状态及动态策略判断。Burp Suite作为核心工具,需通过构造跨域请求、捕获预检响应、交叉验

weixin_30596343的博客 512

2025华为od机试真题B卷【字符串计数匹配】Java&Go 实现

给你一个字符串str和整数k,返回满足以下条件的所有子字符串个数: 1.恰好包含k个字母。 2.数字0-9各出现至少一次。

MISAYAONE的博客 637

【linux库制作与原理】软硬链接&动静态库详谈

本文深入讲解了Linux系统中的软硬链接与动静态库。软链接是独立文件,存储目标路径;硬链接共享inode,不能跨文件系统。静态库(.a)在编译时拷贝代码到程序,动态库(.so)运行时才加载。文章详细介绍了动静态库的制作方法:静态库用ar-rc打包,动态库用gcc-shared生成且需-fPIC编译选项。动态库加载采用位置无关码技术,通过虚拟地址空间共享区实现。最后总结了软硬链接的本质区别和动静态库的使用特点,为Linux文件系统管理提供了实用指导。

熬夜秃顶中...... 1186

RuyiDify如何创建知识库API密钥:让程序安全访问知识库

知识库 API Key 是程序访问知识库的钥匙。创建它很简单,但真正重要的是知道它能做什么、应该放在哪里、不能暴露给谁。RuyiDify 讲这一步,不是为了让大家多记一个按钮,而是为了把知识库从“人工上传资料”推进到“程序化维护资料”。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 133

【Linux】详谈重定向原理、动态库和静态库的使用、文件系统、软硬链接

重定向原理,动态库静态库,文件系统,软硬链接

w903414的博客 1191

Far planner 部署真实小车 & 树莓派部署lego_loam

今天开一贴Far planner的部署,也算是lego loam的部署吧 因为state_estimation用的是lego loam小车底盘: 轮趣的mini差速底盘外加多一层钢板,中间层用来放velodyne的电池(小的电池还没到,大的电池塞不进去目前)和velodyne信号盒子。前面还可以加一个相机。底层用来放小车的电池和马达等设备了,底层不用动。最上面一层用来安装velodyne16线雷达,需要额外钻孔(如果买轮趣的话可以找老板钻个孔?我也不确定,我自己钻的)。 雷达固定螺丝用的是 1/4-20*3

博客 4301

STM32+ESP8266+MQTT协议连接阿里云物联网平台

一、环境介绍 单片机采用:STM32F103C8T6 上网方式:采用ESP8266,也可以使用其他设备代替,只要支持TCP协议即可。比如:GSM模块、有线网卡等。 开发软件:keil5 二、实现功能 通过阿里云物联网服务器实现设备数据远程上传、下发,实现数据交互。 在当前使用的开发板上有4盏LED灯、一个蜂鸣器、4个按键。 三、阿里云物联网服务器创建步骤 说明:如果没有账号的话,先点击网页右上角,注册一个账号,并完成实名认证再继续下一步。 产品名称根据自己情况填...

6万+

【Linux】深刻理解软硬链接

软硬链接的操作,深入理解软硬链接,以及为什么要有软硬链接,软硬链接作用,各种应用场景

2302_80652761的博客 3276

基于ESP32的AI 古琴:基于音频指纹的民族乐器智能校准系统设计与实现

硬件选型兼顾实用性与低成本,接线简单易实现;基于 MFCC 的音频指纹算法,能有效识别古琴弦的音高特征;人机交互友好,新手可快速上手。

weixin_42300449的博客 306

Linux软硬链接和动静态库

当我们安装一款软件成功后,桌面会多一个图标,如果我们点击图标就能启动软件,但那个图标就是软件本身吗?显然不是!图标只是软件启动程序的一个快捷方式,在Linux中可以通过软硬链接来创建类似于Windows下的软件快捷方式,Windows下创建快捷方式一般相当于Linux中的软连接;当Windows中的一个软件启动之后会加载各种文件,一般我们看到的软件启动程序都很小,但是软件安装包却很大,例如游戏,其实软件中大部分都是库文件,关于Linux下的库,本节将会详细为您介绍!

ARMCSKGT的博客 5273

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux 软硬链接

与软连接不同的是,当硬链接的源文件被删除,硬链接文件依旧能正常执行,只是文件的硬链接数减少了一个,因为此时该文件的文件名少了一个,所谓的建立硬链接,本质就是在特定目录的数据块中新增文件名和指向文件名的inode编号的映射关系。命令我们可以看到,硬链接文件的inode编号和源文件是相同的,并且硬链接文件大小与源文件大小也是相同的,特别注意的是,当创建了一个硬链接文件后,该硬链接文件和源文件的硬链接数(引用计数)都变成了2。1. 软连接是一个独立的文件,有独立的inode,而硬链接没有独立的inode。

m0_73634434的博客 995

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Linux文件系列:磁盘,文件系统,软硬链接

Linux文件系列:磁盘,文件系统,软硬链接

Wzs040810的博客 2899

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Linux】万字详解:Linux文件系统与软硬链接

详细讲解了linux下底层文件系统以及软硬链接

You build it, you run it 2777

[Linux] linux 软硬链接与动静态库

[Linux] linux 软硬链接 与 动静态库

石墨博客 1640

linux-软硬链接

linux-软硬链接

BinaryWiker的博客 1209

Linux软硬链接

看到第三行,可以看到有个箭头指向,就是给test.c建立了软链接,也可以看到他们的inode不一样,那么我们来分别cat一下这两个文件看看结果:由此可以得出结论,软连接的本质是一个独立文件,与源文件有不同的inode,用cat打开查看两文件时发现两文件内容一模一样,其作用就和windos中的快捷方式一样。

pouop的博客 1764

初识Linux · 软硬链接

前文我们介绍了磁盘系统的理解,并且基于磁盘系统对文件系统的整体框架有了一个简单的理解,我们都是通过“想要见识没有打开的文件”这个话题引出来了以上的两个主题,紧随其后的,是软硬链接部分,对于软硬链接部分,我们仍然从是什么 为什么 怎么做来了解这部分的知识点。那么,进入主题吧!

更新各种计算机技能~ 1173

【Linux】软硬链接和动静态库

软硬链接和动静态库的知识点

一个喜欢猫咪的程序员 1540

Linux文件系统中的软硬链接

硬链接允许一个文件拥有多个文件名。这些文件名指向同一个inode,而该inode节点包含了文件的元信息(如文件大小、权限、所有者等)以及指向文件数据的指针,且文件所在的目录的inode与block的容量不发生改变。简而言之,硬链接创建的是文件的一个别名,而不是文件的副本。软链接是一种特殊的文件类型,它保存了另一个文件的路径名。与硬链接不同,软链接不直接指向文件的inode节点,而是通过路径名来访问文件。

qq_41941900的博客 2096

【Linux系统编程】第三十弹---软硬链接与动静态库的深入探索

见一见软硬链接,软硬链接的特征,什么是软硬链接,软硬链接有什么用,什么是动静态库~~~

小林熬夜学习编程的博客 2785

Linux基础IO--软硬链接与动静态库

其中的。

2401_83603768的博客 1207

【Linux】软硬链接,动静态库

本文摘要: 文章系统介绍了Linux系统中的软硬链接和动静态库相关知识。第一部分讲解了软硬链接的概念、创建指令及原理,包括软链接保存文件路径、硬链接作为引用计数等特性。第二部分详细阐述了动态库(.so)和静态库(.a)的区别:静态库编译时整合到程序,动态库运行时共享加载;介绍了库的制作使用方法和注意事项,如环境变量LD_LIBRARY_PATH的设置、gcc默认使用动态库等。最后简要提及动态库加载到进程地址空间的过程。全文通过命令示例和原理分析,帮助读者深入理解Linux文件链接机制和库文件的使用规范。

hffh123的博客 1818
上一篇: Linux 详谈Ext系列⽂件系统(二)
下一篇: Linux 详谈库制作与原理
万我.
博客等级 码龄1年 460粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值