硬链接与软链接(一)

C++编译连接问题总结(cmake库连接设置、环境变量设置与查看、C++静态库与动态库、软连接与硬链接) 一、静态库与动态库 1.1 静态库与动态库 预编译 --> 编译 --> 汇编 --> 链接 (1)预编译,即预处理,主要处理在源代码文件中以“#”开始的预编译指令,如宏展开、处理条件编译指令、处理#include指令等。 (2)编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析以及优化后生成相应的汇编代码文件。 (3)汇编是将汇编代码转变成二进制文件。 (4)链接将二进制文件链接成一个可执行的命令,主要是把分散的数据和代码收集并合成一个单一的可加载并可执行.. 阅读详情
声明:本文转载自 http://keren.blog.51cto.com/720558/170979;多谢原创者的分享。
 
UNIX目录中有2中类型的链接——硬链接和符号链接。
 
硬链接本身就是一个目录项,(比如文件名+索引节点号),可以将文件名与文件的位置关联起来;
符号链接也称软链接,是指存储了一个字符串的文件。这个字符串可以在路径名解析的过程中,用于修改路径名。
 
----------------------------------------------------
  假设文件是用索引节点来表示的
----------------------------------------------------
 
目录项对应于单个链接,但是一个索引节点可能有几个链接的目标(对应几个目录项),因此索引节点中包含一个对链接到索引节点的链接数的计数。当用open()创建一个新的文件时,操作系统就会创建一个新的目录项,并分配一个空闲的索引节点来表示该文件。
                                                       图 1
图1显示的就是/dirA下的name1文件的目录项,索引节点为12345,有一个链接,它的第一个数据块为23567。 文件很小,所有内容都包含在一个块中。
 
(1)创建一个硬链接
可以使用命令ln或者函数link()为文件创建一个链接。
 
#include <unistd.h>
int link( const char *path1, const char *path2 );
 
上述操作为path1指定的一个已经存在的文件(比如/driA/name1)创建一个新的目录项,这个文件位于path2指定的目录下(比如/driB/name2);并增加相应的索引节点链接计数,不再使用额外的磁盘空间。
如图2:
                                                 图 2
(2) 创建一个符号链接
符号链接是一个包含了另一个文件或目录名字的文件。引用符号链接的名字会使操作系统去定位对应于那个链接的索引节点,知道最终遇到一个硬间接和一个真正的文件为止。如果过了一段时间,系统没有找到文件,则放弃并返回ELOOP错误。
 
使用ln命令带选项-s 或者函数symlink(),都可以创建符号链接。
 
#include <unistd.h>
int symlink ( const char *path1, const char *path2);
 
这里path2是新创建的链接,新链接指向path1 。如图3:
                                                                       图 3
 
这里,符号链接使用了一个新的索引节点(13579),该索引节点包含了说明它是一个符号链接的信息。符号链接至少需要一个数据块(如15213),数据块中包含了/dirB/name2要链接的文件名称,这里即为/dirA/name1。
 

本文出自 “淡泊明志,宁静致远” 博客,请务必保留此出处http://keren.blog.51cto.com/720558/170979

浅析Linux文件(一)inode与block、硬链接与软链接、恢复误删文件 一、inode与block 1.inode和block概述 文件数据包括元信息与实际数据,一个文件必须占用一个inode,但至少占用一个block。 扇区:文件存储在硬盘上,硬盘的最小存储单位是扇区,每个扇区存储空间是512字节。 block(块):连续的八个扇区组成一个block,block是文件存取的最小单位,用来存储文件数据。 inode(索引节点):也叫i节点,用于存储文件元信息。 2... 阅读详情

相关推荐

如何评价智能座舱的好坏之指标拆分?

智慧服务实际上是有一些比较实用的功能的,常用的有后视镜自动伸展、离车自动落锁、座椅记忆等,但这部分前装率较高,各家的区分度不高,所以一级指标中占比最低(10%)。不过呢,规则里的权重仅有5%,或许是考虑到比较成熟,没有区分度。全景环视明显拔得头筹,占比85%,这对于我这种没有倒车影像不敢倒车的人,举双手赞成,但还是要看其效果,比如,现在,测评规则的颁布实际上也让我们看到,智能座舱的技术方案正走向成熟,并将走进规范化运作。,占比 60%,这与我们对座舱最直接的认知符合,

shuiqingyan的博客 1084

UNIX文件:硬链接和符号链接

UNIX目录中有2中类型的链接——硬链接和符号链接。 硬链接本身就是一个目录项,(比如文件名+索引节点号),可以将文件名与文件的位置关联起来; 符号链接也称软链接,是指存储了一个字符串的文件。这个字符串可以在路径名解析的过程中,用于修改路径名。 ---------------------------------------------------- 假...

weixin_33709590的博客 198

MQTT与物联网平台(一):基础知识和设备接入物联网平台的实现(以华为云为例)

本文简单介绍了MQTT的基础知识和使用方法,以蓝牙WIFI双模芯片W801作为硬件设备,接入到华为云。

weixin_50622833的博客 1万+

Unix 硬链接与符号链接(软链接)

文章目录硬链接符号链接读取符号链接本身内容 硬链接 通过命令ln srcfile newfile创建的newfile即为srcfile的硬链接。硬链接的本质,就是一个字符串形式的路径和一个整数的i节点号的对应关系。 硬链接的文件内容与创建时指向的源文件一模一样,把源文件删除,不会影响硬链接文件。 在文件系统中的i节点维护了该文件的元数据,元数据中就有一个硬链接数,该硬连接数即表示有多少个硬链接文件指向了该i节点。每个普通文件,本身就是一个硬链接,只是硬链接数为1,每对该文件创建一个硬链接,那么硬链接数+1。

白杨 1903

逆向实战:TikTok X-Gorgon算法解析与Unidg补环境技巧

本文详细解析了TikTok X-Gorgon算法的逆向工程全流程,包括参数定位、变种RC4算法还原及Unidbg补环境技巧。通过动态调试与静态分析相结合,揭示了X-Gorgon的生成逻辑和加密细节,为移动安全研究提供了实用指南。

weixin_28568819的博客 693

【软件介绍】GWAS meta分析软件:METAL

Meta-analysis是对多个GWAS分析结果进行综合评价。METAL是GWAS meta分析最常用的工具之一,本文简单介绍METAL软件基本用法。

hucy_Bioinfo 1万+

软链接和硬链接的创建

硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。硬链接可由命令 link 或 ln 创建,如:link oldfile newfile ln oldfile newfile由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。硬链接不能对目录进行创建,只可对文件创建。软链接(也叫符号链接)与硬链接不同,文件用户数据

not_give_up_的博客 1833

30天入门 SAP BTP 开发系列之四:SAP BTP 控制台里 Global Account 的常规操作介绍

笔者前一篇文章,介绍了 SAP BTP 中 Global Account 的概念。本文咱们一起来看看 SAP BTP 控制台里,给 Global Account 开放了哪些操作功能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 865

Linux 硬链接与软链接

原贴:http://www.51testing.com/?26162/action_viewspace_itemid_17598.htmlLinux 硬链接与软链接2007-08-05 10:19:49 Linux 硬链接与软链接2006-12-01 15:03

最实用的Linux博客 8451

web逆向伪瑞数案例:宝武资源有限公司(面向对象补环境)

声明:该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关前言:之所以称伪瑞数案例,是因为该网站,无论是补环境的方法、还是环境都和瑞数差不多,因为第一次遇到这种网站,不确定是不是瑞数的一种,所以这里称伪瑞数,有知道的道友,可以评论区评论下,共同进步。,这里就不做多介绍了1.瑞数中的是t​s,而该网站是_ss。2.外链js代码不能格式化,否则补环境时会遇到一个超过数组长度的报错。3.call执行后的虚拟文件中有超多的debugger。

老衲爱洗头的博客 2534

华为od 面试八股文_JAVA语言_01_含答案

华为od 面试八股文_JAVA语言_01_含答案

MISAYAONE的博客 4311

linux硬链接含义,理解Linux的硬链接与软链接(一)

链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。除了 cp 和 mv 这两个我们在本系列的前一部分中详细讨论过的,链接是可以将文件和目录放在你希望它们放在的位置的另一种方式。它的优点是可以让你同时在多个位置显示一个文件或目录。如前所述,在物理磁盘这个级别上,文件和目录之类的东西并不真正存在。文件系统是为了方便人类使用,将它们虚构出来。但在磁盘级别上,有一个名为分区表partition ...

weixin_29531989的博客 289

C和C++Everything教程的简介

C和C++Everything教程的简介 C和C++Everything教程,该专栏目前已有8000博文,订阅该专栏相当于同时订阅以下所有收费专栏

希望我的博客,能帮上你解决学习中工作中所遇到的问题 4389

linux硬链接含义,理解 Linux 的硬链接与软链接 (一)

理解 Linux 的硬链接与软链接 (一)除了 cp 和 mv 这两个我们在本系列的前一部分中详细讨论过的, 链接是可以将文件和目录放在你希望它们放在的位置的另一种方式. 它的优点是可以让你同时在多个位置显示一个文件或目录.链接是可以将文件和目录放在你希望它们放在的位置的另一种方式.除了 cp 和 mv 这两个我们在本系列的前一部分中详细讨论过的, 链接是可以将文件和目录放在你希望它们放在的位置的...

weixin_28695903的博客 165

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux文件系统①:硬链接与软链接

磁盘中的数据总是以固定大小的块来进行存取,即4096字节4k ,一个磁盘可以划分为多个分区,每个分区包含一个文件系统,而i节点是固定长度的记录项,包含了文件的大部分信息: 磁盘中的文件以数据块的形式进行存放,而i-node则是对文件的描述: i-node:用于存储文件所有者、长度、创建时间等文件元数据的结构,存在于磁盘中的inode区域 一个典型的i 节点包含以下相关信息: 字段 含义 Size 表明文件的大小 Uid 表明文件拥有者的User ID ...

一只老风铃 492

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux杂谈(一):软链接与硬链接

文档总结 1. 软链接和硬链接的区别: 首席我们通过一个实例直观的感受一下。 *软链接: (1)这个是/mnt/file文件详细信息: 注意最左侧file文件的inode号是6294764.我们一会要和链接文件进行对比. (2)建立软链接: ln -s /mnt/file /root/Desktop(-s 表示软链接) 再键入命令ls -il

linux_player_c(系统&开发) 861

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

理解 Linux 的硬链接与软链接(一)

从 inode 了解 Linux 文件系统 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一。通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型。并让 Linux 普通用户和系统管

我不会编程,但不是完全不会,我会一点点 669

硬链接与软链接

硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。 链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。 通过文件名打开文件 若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(见 图 2.hard link 就是 file 的一个别名,他们有共同的 inode)。硬链接可由命令 link 或 ln 创建。如下是对文件 oldfile 创建硬链接

Piepis的博客 3217

软链接、硬链接、inode

硬链接 一般情况下,文件名和inode号码是”一一对应”关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。 这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为”硬链接”(hard link)。 ln命令可以创建硬链接:   ln ...

moyuanbomo的博客 327

ln&硬链接&软链接

这是两种特殊的“文件”。软链接:可以看作是Windows中的快捷方式,可以快速链接到目标档案或目录。硬链接:已存在文件的另一个名字,只能在同一个文件系统中的文件才能创建硬链接,不允许给目录创建硬链接,与复制的区别即硬链接具有同步性。当我们需要在不同的目录使用相同的文件时,不需要在每个需要的目录下都放一个相同的文件,只需要在某个固定的目录放上该文件,然后在其它目录下用ln(link)命令链...

149

linux 软链接与硬链接

https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html - 这里对linux文件系统作了很全面的解释,简而言之,linux文件数据的唯一标识是inode号包含在元数据(metadata)中,文件系统包含一个(我猜是hash表)索引提供文件路径的方式访问真正的userdata。 - 当我们通

bitbiter 450

理解 Linux 的硬链接与软链接

现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用。在 UNIX 系统中,操作系统为磁盘上的文本与图像、鼠标与键盘等输入设备及网络交互等 I/O 操作设计了一组通用 API,使他们被处理时均可统一使用字节流方式。换言之,UNIX 系统中除进程之外的一切皆是文件,而 Linux 保持了这一特性。为了便于文件的管理,Linux 还引入了目录(有时亦被称为文件夹)这一概念。目录使文件可被分类管理,且目录的引入使 Linux 的文件系统形成一个层级结构的目

viafcccy的博客 342

Linux 软链接和硬链接

目录软链接硬链接 软链接 软连接也称之为符号连接(Symbolic Link)。 软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。 在符号连接中,文件实际上是一个文本文件,包含着另一文件的位置信息。 你选定的位置上生成一个文件的镜像,不会占用磁盘空间 具体用法是:ln -s 要被链接的文件 软链接文件名字 如 ln -s libwiringPi.so.2.50 libwiringPi.so 蓝绿色的就是软连接,可以通过ls -l查询当前路径的文件的属性 会发现软连接指向了被链接

qq_44610809的博客 286

linux 硬链接与软链接

链接的访问软链接实际上只是一段文字,产生一个新文件(这个文件内容,实际上就是记当要链接原文件路径的信息),这个文件指向另一个文件的位置,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理; 创建软链接:ln -s filename [linkname] 在同一个分区下创建文件f1的软链接文件f2,通过观察二者的节点编号和元数据、时间戳都不同,所以软链接和原文...

icebergliu1234的博客 278
上一篇: 静态编译(二)
下一篇: 硬链接与软链接(二)
弱水三千_fllik
博客等级 码龄15年 48粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值