linux学习(软硬链接+静态库)[15]

news2024/9/24 9:22:20

在这里插入图片描述

软硬链接

软链接(symbolic link)和硬链接(hard link)是操作系统中用于创建文件或目录之间关联的两种方式。

软链接是一个特殊的文件,它包含了指向目标文件或目录的路径。软链接可以跨文件系统,并且可以指向不存在的文件或目录。软链接的修改会直接反映到目标文件或目录上。删除软链接不会影响目标文件或目录。

硬链接是一个文件系统中的多个文件项,它们共享相同的索引节点(inode)和数据块。硬链接只能在同一个文件系统中创建,且不能指向目录。硬链接的修改会直接反映到其他硬链接和目标文件上。删除任何一个硬链接不会影响其他硬链接和目标文件,只有当所有硬链接和目标文件都被删除时,才会释放文件的磁盘空间。

总结来说,软链接是一个指向目标文件或目录的路径,可以跨文件系统,可以指向不存在的文件或目录,删除软链接不会影响目标文件或目录。而硬链接是多个文件项共享相同的索引节点和数据块,只能在同一个文件系统中创建,不能指向目录,删除任何一个硬链接不会影响其他硬链接和目标文件。
在Linux下,可以使用以下命令行进行软链接和硬链接的创建和操作:

  1. 创建软链接:

    ln -s <目标文件或目录> <链接文件名>
    

    例如,创建一个指向目标文件的软链接:

    ln -s /path/to/target/file /path/to/link/file
    

    创建一个指向目标目录的软链接:

    ln -s /path/to/target/directory /path/to/link/directory
    
  2. 创建硬链接:

    ln <目标文件> <链接文件名>
    

    例如,创建一个指向目标文件的硬链接:

    ln /path/to/target/file /path/to/link/file
    

    注意:硬链接不能指向目录,只能指向文件。

  3. 查看链接信息:

    ls -l <链接文件名>
    

    例如,查看软链接的目标文件或目录:

    ls -l /path/to/link/file
    
  4. 删除链接:

    rm <链接文件名>
    

    例如,删除软链接:

    rm /path/to/link/file
    

    删除硬链接:

    rm /path/to/link/file
    

请注意,以上命令中的<目标文件或目录>是指要创建链接的文件或目录的路径,<链接文件名>是指创建的链接文件的路径和名称。
在这里插入图片描述
在这里插入图片描述
软链接有自己独特的inode
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包静态库

归档
在Linux下,可以使用ar命令对静态库进行归档(archive)操作。归档是将多个目标文件打包成一个库文件的过程。

以下是对静态库进行归档的命令行步骤:

  1. 创建一个空的静态库文件:

    ar rcs lib<库名>.a
    

    例如,创建一个名为libexample.a的空静态库文件:

    ar rcs libexample.a
    
  2. 将目标文件添加到静态库中:

    ar rcs lib<库名>.a <目标文件1> <目标文件2> ...
    

    例如,将名为object1.o和object2.o的目标文件添加到libexample.a中:

    ar rcs libexample.a object1.o object2.o
    
  3. 查看静态库中包含的目标文件:

    ar t lib<库名>.a
    

    例如,查看libexample.a中包含的目标文件:

    ar t libexample.a
    
  4. 提取静态库中的目标文件:

    ar x lib<库名>.a
    

    例如,从libexample.a中提取目标文件:

    ar x libexample.a
    
  5. 删除静态库中的目标文件:

    ar d lib<库名>.a <目标文件>
    

    例如,从libexample.a中删除object1.o目标文件:

    ar d libexample.a object1.o
    

请注意,以上命令中的<库名>是指要创建或操作的静态库的名称,<目标文件>是指要添加、提取或删除的目标文件的名称。静态库的命名约定是以lib开头,以.a结尾。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/908236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3+ts+vite项目页面初始化loading加载效果

简介 一分钟实现 vue-pure-admin 同款项目加载时的 loading 效果 一、先看效果 1.1 静态效果 1.2 动态效果 二、上代码 核心代码在body里面&#xff0c;代码中已标明。找到你项目的 index.html &#xff0c;复制粘贴进去即可 <!DOCTYPE html> <html lang"en…

购车小记:辅助驾驶(锋兰达双擎领先版(14W落地)/锐放双擎先锋版(心里预期13W落地))

文章目录 引言I 试驾L2辅助驾驶II 优惠2.1 补贴2.2 坚持免息2.3 礼包III 车型对比3.1 锐放双擎先锋3.2 锋兰达双擎领先版引言 最近想买辆代步车,关注了锐放、锋兰达。 记录下心得。 流程:多家店对比落地价、礼包、政府补贴;合同没有确定不交意向金。 不要因为价格优惠/政府…

vue3-ts- element-plus新增组件-过滤

新增组件-所有值为空时过滤 <el-form-item label"家庭成员"><divclass"username-box"v-for"(item, index) in form.namelist":key"index"><div>姓名&#xff1a;<el-input v-model"item.name" placeho…

【论文阅读】HOLMES:通过关联可疑信息流进行实时 APT 检测(SP-2019)

HOLMES: Real-time APT Detection through Correlation of Suspicious Information Flows S&P-2019 伊利诺伊大学芝加哥分校、密歇根大学迪尔伯恩分校、石溪大学 Milajerdi S M, Gjomemo R, Eshete B, et al. Holmes: real-time apt detection through correlation of susp…

Redis有什么作用?面试题答案

参考答案 Redis是一种开源的内存数据库,它具有多种作用和用途。以下是Redis的主要作用: 缓存:Redis最常见的用途是作为缓存存储,将常用的数据存储在内存中,以提高读取速度。由于Redis是基于内存的,因此读取操作非常快速,适用于需要频繁读取的应用程序。 数据库:Redis可…

无人机工程安全巡检:主要应用与实施策略

无人机工程安全巡检是指使用无人机技术&#xff0c;对工程项目进行系统的、周期性的监测和检查&#xff0c;以确保工程的安全性、稳定性及其与设计的符合性。这包括但不限于建筑物、桥梁、道路、隧道、大坝等各种大型工程项目。无人机工程安全巡检不仅大大提高了效率&#xff0…

Revit 3D高效处理:cad exchanger sdk 3.21 Crack

3D 格式概述&#xff1a;Revit Revit 已成为寻求高效、准确的建筑信息建模的专业人士的首选解决方案。在这篇引人入胜的功能概述中了解 Revit 的特性和影响。 什么是Revit&#xff1f; Autodesk Revit 是一款流行的 CAD 软件&#xff0c;重点关注 BIM&#xff0c;被建筑师、工…

Mybatis模糊查询的问题

使用${}方式模糊查询&#xff0c;出错。 mapper 对应的 xml&#xff0c;注释掉的两种方式都可以得到数据&#xff0c;只有第三种出错 测试方法 结果 不知道为啥会出现这个 %root%&#xff0c;使用其他两种方式结果没问题&#xff0c;不知道问题出在哪里了。

opencv进阶11-LBPH 人脸识别(人脸对比)

人脸识别的第一步&#xff0c;就是要找到一个模型可以用简洁又具有差异性的方式准确反映出每个人脸的特征。识别人脸时&#xff0c;先将当前人脸采用与前述同样的方式提取特征&#xff0c;再从已有特征集中找出当前特征的最邻近样本&#xff0c;从而得到当前人脸的标签。 OpenC…

Linux知识点 -- Linux多线程(二)

Linux知识点 – Linux多线程&#xff08;二&#xff09; 文章目录 Linux知识点 -- Linux多线程&#xff08;二&#xff09;一、线程互斥1.背景概念2.多线程访问同一个全局变量3.加锁保护4.问题5.锁的实现 二、线程安全1.可重入与线程安全2.常见情况3.可重入与线程安全的联系 三…

【力扣每日一题】2023.8.17 切披萨的方案数

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个二维数组来表示一个披萨&#xff0c;其中‘A’表示披萨上的苹果。 让我们切k-1刀&#xff0c;把披萨切成 k 份&#xff0…

Eslint error, configuration for rule “import/no-cycle“ is invalid

可以参考stackoverflow.comEslint error, configuration for rule "import/no-cycle" is invalid他的意思是有个∞符号不支持&#xff0c;解决方案&#xff0c;把 eslint-plugin-import 的版本增加到 ^2.22.1&#xff0c;重新下载依赖包如&#xff1a;

【分布式共识】Raft算法 选举一个领导者

Raft算法是通过一切以领导者为准的方式&#xff0c;实现一系列值的共识和各节点日志的一致 在分布式系统中&#xff0c;节点可能出现宕机、网络故障等&#xff0c;所以在3个节点的分布式系统中&#xff0c;如何选举出一个Leader节点。比如我们部署一个ZK集群。 成员 Leader领…

《Linux运维总结:Centos7.6之OpenSSH7.4p1升级版本至9.4p1》

Centos通过yum升级OpenSSH 在官方支持更新的CentOS版本&#xff0c;如果出现漏洞&#xff0c;都会通过更新版本来修复漏洞。这时候直接使用yum update就可以升级版本。 yum -y update openssh 但是&#xff0c;CentOS更新需要有一段时间&#xff0c;不能在漏洞刚出来的时候就有…

SpringBoot实现热部署/加载

在我们修改完项目代码后希望不用重启服务器就能把项目代码部署到服务器中(也就是说修改完项目代码后不用重启服务器修改后的项目代码就能生效)。 一、实现devtools原理 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-…

内网渗透神器CobaltStrike之凭据的导出与存储(八)

简介 Cobalt Strike 是一个流行的渗透测试工具&#xff0c;主要用于模拟高级持续性威胁&#xff08;APT&#xff09;的攻击。它提供了许多功能来操作、持久化和操纵受害者机器。其中&#xff0c;凭据的导出和存储是渗透测试中的一个重要步骤。 凭据导出: Cobalt Strike 通过其…

Vue前端封装一个任务条的组件进行使用

任务条 样式 代码 父组件 <articleSteps :tabs"tabs" :tabs-active-name"tabsActiveName" /><div class"drawer__footer"><el-button v-if"tabsActiveName 1 || tabsActiveName 2" click"backClick">…

面试了几十家,整理出这份车载测试面试题

年前有朋友找工作&#xff0c;跟我说简历改了车载后&#xff0c;收到的打招呼翻了几倍&#xff0c;如今车载测试前景非常广阔&#xff0c;因为越来越多的汽车厂商正在开发新的可智能化的汽车&#xff0c;他们需要测试这些汽车的性能&#xff0c;安全性以及可靠性。 车载测试技…

面试时,如何向HR解释自己频繁跳槽?

有数据显示&#xff0c;现在的职场人&#xff0c;跳槽越来越频繁&#xff0c;95后平均7个月就离职。 对于面试官来说&#xff0c;一个跳槽过于频繁的人总是存在潜在风险&#xff0c;比如抗压力差、稳定性不好、心不定这山望着那山高、职业规划不清晰等等。 我一直强调一个观点…

WXSS的全局样式和局部样式

什么是WXSS? WXSS中的样式和css差不多&#xff0c;是用于给WXML页面来设置样式的&#xff0c;但是WXSS中扩展了rpx尺寸单位和import样式导入 rpx:根据不同的屏幕自动进行适配&#xff0c;把设备屏幕的宽度等分为750份(设备的总宽度750rpx) import: 用于进行样式的导入 通过inp…