【Linux】软链接、硬链接-程序员宅基地

概念

硬链接:也叫链接,即文件的引用,与被引用文件指向同一个Inode。例如,文件系统目录树上存在一个文件,该文件指向一个唯一的Inode,为该文件创建一个硬链接的话,那么该硬链接也指向同一个Inode,相当于该文件有两个名字,同时文件链接数增加1,可以使用任意一个名字访问该文件。

软链接:也叫符号链接,即文件的快捷方式。软链接也是一种文件,同样占有一个Inode,创建软链接不增加链接数.

创建与删除软链接、硬链接

首先看一个正常的文件:nfile.txt

# ls -li
total 20
48050 -rw-r--r-- 1 root root 20201 May 28 14:24 nfile.txt

可以看到nfile.txt的Inode编号为48050,文件链接数为1,文件大小为20201.

为nfile.txt文件创建一个硬链接:hardlink.txt

# ln nfile.txt hardlink.txt
[root@CLA-0(BCN_62) /root/horen]
# ls -li
total 40
48050 -rw-r--r-- 2 root root 20201 May 28 14:24 hardlink.txt
48050 -rw-r--r-- 2 root root 20201 May 28 14:24 nfile.txt

可以看到新创建的硬连接hardlink.txt的Inode编号同样为48050,文件大小同样为20201,但是文件链接数增加了1。这时这两个文件同时指向硬盘里的一个文件,删除二者之一时,文件链接数会下降1。

为nfile.txt创建一个软链接:softlink.txt

# ln -s nfile.txt softlink.txt
[root@CLA-0(BCN_62) /root/horen]
# ls -li
total 40
48050 -rw-r--r-- 2 root root 20201 May 28 14:24 hardlink.txt
48050 -rw-r--r-- 2 root root 20201 May 28 14:24 nfile.txt
48052 lrwxrwxrwx 1 root root     9 May 28 14:51 softlink.txt -> nfile.txt

可以看到新创建的软链接softlink.txt的Inode编号为48052,文件链接数为1,文件大小为9。这时这个软链接作为nfile.txt的一个快捷方式存在,可以通过softlink.txt访问nfile.txt。

删除硬链接:hardlink.txt

# rm hardlink.txt
[root@CLA-0(BCN_62) /root/horen]
# ls -li
total 20
48050 -rw-r--r-- 1 root root 20201 May 28 14:24 nfile.txt
48052 lrwxrwxrwx 1 root root     9 May 28 14:51 softlink.txt -> nfile.txt

可以看到,文件nfile.txt的链接数下降为1.

删除软链接:softlink.txt

# rm softlink.txt
[root@CLA-0(BCN_62) /root/horen]
# ls -li
total 20
48050 -rw-r--r-- 1 root root 20201 May 28 14:24 nfile.txt

硬链接与软链接的区别

1.软链接可以跨文件系统,硬链接不可以;

2.多个硬链接占用同一个Inode编号,多个硬链接与源文件不分彼此,修改任何一个其他文件都会同步修改。软链接占用独立的Inode编号;

3.软链接可以对一个不存在的文件名进行链接;

4.软链接可以对目录进行链接。

 

转载于:https://my.oschina.net/renhc/blog/59923

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34032827/article/details/91699431

智能推荐

oracle数据库中CONNECT BY递归查找树和拆分字符串_start with connect by重复数据-程序员宅基地

文章浏览阅读560次。oracle数据库中CONNECT BY应用详解_start with connect by重复数据

(1)ARCH效应、均值方程、GARCH族模型、对波动率建模、预测(包含代码)-程序员宅基地

文章浏览阅读6.7w次,点赞29次,收藏302次。一、ARCH模型的介绍  ARCH 模型通常有两个方程构成:   模型建立流程:   对资产收益率序列建立波动率模型需要4个步骤:   (1)通过检验数据前后相关性建立一个均值方程,如果有必要,对收益率序列建立一个计量经济模型来消除任何的线性依赖。   (2)对均值方程的残差进行ARCH效应检验。   (3)如果ARCH效应在统计上是显著的,则指定一个波动率模型,并对均值方程和波..._arch效应

【C++核心】运算符重载和文件操作-程序员宅基地

文章浏览阅读725次,点赞11次,收藏15次。程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化。C++编译器默认会给类添加四个函数,除了构造函数、析构函数和拷贝构造函数外,还会添加赋值运算符。,用来对属性进行值拷贝。此时,如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题。注意:文件打开方式可以配合使用,利用|操作符。注意:如果文件路径没有说明具体路径,则会放在当前源文件的同级目录下。如果要以二进制的方式对文件进行读写操作,那么打开方式要指定为。函数,保险起见,最好在深拷贝之前先进行释放。

不可思议!英伟达新技术训练NeRF模型最快只需5秒,单张RTX 3090实时渲染,已开源...-程序员宅基地

文章浏览阅读1.4k次。关注并星标从此不迷路计算机视觉研究院公众号ID|ComputerVisionGzq学习群|扫码在主页获取加入方式计算机视觉研究院专栏作者:Edison_G英伟达将训练 NeRF 模型从 5..._nerf五个小时训练

四大开源无人机项目,极客要Get了_开源无人机方案-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏24次。四大开源无人机项目,极客要Get了_开源无人机方案

在html中 段落标记p中使用属性,HTML的段落标记中,标注文本以原样显示的是标记 P 答案:错...-程序员宅基地

文章浏览阅读1.9k次。相关问题防范人质绑架的技巧包括(): 人质 技巧 睡觉 标记 斗智斗勇智接触化学危险品、剧毒以及致病微生物等的仪器设备和器皿,必须有明确醒目的标记。使用后及时清洁,特别是维修保养或移至到其他场地前,必须进行彻底的净化: 化学 危险品 剧毒 致病 微生物 仪器 设备 器皿 标记 后 维修 保养 场地 前 净化下列选项中,关于标记说法正确的是: ..._下列选项中,关于标记选项说法正确的是( )a在html标记中,“属性”和“属性值”是以

随便推点

mapboxgl 中热力图的实现以及给热力图点增加鼠标移上 popup 效果-程序员宅基地

文章浏览阅读963次,点赞13次,收藏8次。注意:因为热力图本身不可以添加鼠标以上效果,所以还是使用了点,将鼠标以上效果加给点,然后把点的透明度设置为0,大小和热力图中点相同,即可完成上图中效果。注意:vue中引入图片要使用require引入,路径不能以传参的形式传入,最好写相对路径。本篇文章还是关于最近做到的 mapboxgl 地图展开的。本方法主要还是使用点和热力图重叠同时显示效果。_mapboxgl

3DExperience:从组件与UI活动对象创建CATPathElement对象-程序员宅基地

文章浏览阅读410次。this指针某接口。ExportedByARKDocumentStructureItf CATPathElement *ARKEProduct::GetPathElement(){ CATFrmEditor *pEditor=CATFrmEditor::GetCurrentEditor(); CATPathElement context = pEditor->GetUIActiveObject(); CATIBuildPath *pBuildPath=NULL; QueryInterfa_catpathelement

Vcpkg学习使用_vcpkg查看可用的包-程序员宅基地

文章浏览阅读1.3k次。1,从 GitHub 克隆 vcpkg 存储库:https://github.com/Microsoft/vcpkg。可凭喜好下载到任意文件夹位置2,编译Vcpkg,编译很简单,使用PowerShell执行Vcpkg工程目录下的“bootstrap-vcpkg.bat”命令,即可编译。编译好以后会在同级目录下生成vcpkg.exe文件。编译期间,脚本会自动下载vswhere组件。3,..._vcpkg查看可用的包

CNN-LSSVM回归 基于卷积神经网络结合最小二乘向量机多变量回归预测 (多输入单输出)-程序员宅基地

文章浏览阅读96次。CNN-LSSVM回归 基于卷积神经网络结合最小二乘向量机多变量回归预测 (多输入单输出)

STM32的中断系统详解(嵌入式学习)_stm32中断嵌套-程序员宅基地

文章浏览阅读8.8k次,点赞29次,收藏191次。STM32微控制器的中断系统是其重要的功能之一,它允许处理器在运行过程中响应外部事件和紧急情况。中断向量表(Interrupt Vector Table):中断向量表是一个存储中断处理程序地址的表格。对于每个中断,中断向量表中都有一个相应的入口,存储了对应中断处理程序的地址。当中断请求发生时,处理器会根据中断号查找中断向量表,并跳转到相应的中断处理程序执行。NVIC(Nested Vectored Interrupt Controller):NVIC是STM32微控制器中的中断控制器,负责管理和控制中断。_stm32中断嵌套

解决E: 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu bionic Release” 没有 Release 文件。-程序员宅基地

文章浏览阅读2w次,点赞56次,收藏100次。转载声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/qq_31676673/article/details/88107454今天,在更新软件时,使用以下命令时sudo apt-get updatesudo apt-get upgrade抛出错误E: 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu bionic Re..

推荐文章

热门文章

相关标签