软链接与硬链接

文件引用模型

  在linux中,一切皆文件,而文件包含元数据(metedata)和用户数据(user data)。元数据中的inode号是系统标识和获取用户数据的唯一凭证,而文件名仅是为了方便用户记忆和使用。为了管理和组织文件,目录被引入系统,也正是在目录中记录了文件名和inode号的对应关系,可用如下模型表示:

(注:可以通过stat和ls -i命令获得文件的inode号)

  *为了解决文件的共享使用,引入了软链接(soft link 或 symbolic link)和硬链接(hard link),同时也有隐藏文件路径、增加权限的安全和节省存储空间等好处。

1. 硬链接

  若一个inode号对应多个文件名,则称这些文件为硬链接。(硬链接为文件的一个别名,他们有共同的inode)硬链接有如下几个特点:

  • 文件有相同的inode号和数据块(data block);
  • 只能对已存在的文件创建;
  • 不能交叉文件系统创建硬链接;
  • 不能对目录创建(防止产生目录环),只能对文件创建;
  • 删除一个硬链接文件不会影响其他具有相同inode号的文件。

2. 软链接

  若文件用户数据块中存放的是另一个文件的路径名,则该文件就是软链接。软链接就是一个普通的文件,只是文件的数据块内容有点特殊。软链接拥有自己的inode号和数据块,其有如下特点:

  • 软链接有自己的文件属性和权限等;
  • 可对不存在的文件或目录创建软链接;
  • 可交叉文件系统创建;
  • 可对文件或目录创建;
  • 创建软连接时,链接计数不会增加;
  • 删除软链接并不影响所指向的文件,但若指向的原文件被删除,则相关软链接变成了死链接(所指向的文件被重新创建,死链接可恢复为正常的软链接)。

软、硬链接的访问示意图:

 

转载于:https://www.cnblogs.com/negiper/p/5982134.html

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

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

相关文章

c++ 数组的输入遇到特定字符停止输入_C语言 第4章-字符串和格式化输入/输出

#include 用数组name储存字符串,name数组有40个字节,每个字节储存一个字符值。在scanf()函数中,输入字符串name没有&前缀。C预处理器把字符常量DENSITY定义为62.4。strlen()获取字符串长度。1. 字符串1.1. char类型数组双引号标记字符串&…

vue3+typescript引入外部文件

vue3typescript中引入外部文件有几种方法 &#xff08;eg:引入echarts&#xff09; 第一种方法&#xff1a; 1 indext.html中用script引入 <div id"app"></div><script src"https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.min.js…

在哪能找到陌生人聊骚_如何说服陌生人帮助您找到工作

在哪能找到陌生人聊骚by Alex Lacey通过亚历克斯莱西 找工作吗&#xff1f; 这是说服陌生人帮助您找到一个人的方法 (Looking for a job? Here’s how to convince strangers to help you find one) 我过去获得40个推荐的7个步骤 (The 7-step process that I used to get 40 …

Python基础 day2

Python基础 一、Python的数据类型 1、int(整型) 在32位机器上&#xff0c;整数的位数为32位&#xff0c;取值范围为-2**31&#xff5e;2**31-1&#xff0c;即-2147483648&#xff5e;2147483647&#xff0c;而.在64位系统上&#xff0c;整数的位数为64位&#xff0c;取值范围为…

matlab 文件指针回到开头,[c/c++] 文件指针位置回到文件开头(rewind)及行开头(ftell+fseek)...

待读入文件1.greenteemo2.csdn3.blog代码&#xff0c;详细说明见注释#include #define LENGTH_OF_LINE 1024int main(){FILE *fp fopen("file.txt", "r"); // 打开文件char line[LENGTH_OF_LINE];while( fgets(line, LENGTH_OF_LINE, fp) ){printf("…

python全栈开发优势_Python全栈开发多少钱?学Python价格贵吗?

Python全栈开发培训多少钱?学习Python是大家进入编程世界的理想之选&#xff0c;而且Python也是一门非常受欢迎的编程&#xff0c;可以从事的领域有很多。 从目前市场上的行情来说&#xff0c;一般情况下Python培训的费用在一万五到两万元之间的&#xff0c;以后可能会更高&am…

gym101808 E

提问&#xff1a;我是什么品种的傻逼&#xff1f; 哇看到积水兴高采烈啊。然后就走上了一条不归路。 为什么不归呢&#xff0c;因为我这个法子就是不对的&#xff0c;我总是在想很多很多点围成的一块区域&#xff0c;然后求这一块区域的面积。 然后尝试了各种扫描方法&#xff…

WordPress中缠结的自定义数据世界

by Kamil Grzegorczyk通过卡米尔(Kamil Grzegorczyk) WordPress中缠结的自定义数据世界 (The Tangled World of Custom Data in WordPress) 降低风险并管理您的自定义字段 (Reducing Risk and Managing Your Custom Fields) Have you ever wondered how to properly name keys…

【站点部署】解析二级域名并部署站点

开设原因 : 近期在学健身, 上一份工作辞掉后, 在北京找了家私人教练培训学校, 进行为期四个月的健身培训, 这个比在健身房找私教专业多了, 被健身房私人教练坑慘了, 说多了都是泪, 已经培训了将近一个半月, 学习了基础私教, 普拉提, 这在学习康复课程, 之后还有功能性 和 综合格…

pip如何安装到Linux服务器,linux中pip安装步骤与使用详解

1、pip下载安装1.1 pip下载代码如下# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5834b2904f92d46aaa333267fb1c922bb" --no-check-certificate1.2 pip安装代码如下# tar -xzvf pip-1.5.4.tar.gz# cd pip-1.5.4# python setup.py inst…

python中列表实现去重使用_Python实现嵌套列表去重方法示例

发现问题 python嵌套列表大家应该都不陌生&#xff0c;但最近遇到了一个问题&#xff0c;这是工作中遇到的一个坑&#xff0c;首先看一下问题 raw_list [["百度", "CPY"], ["京东", "CPY"], ["黄轩", "PN"], [&q…

Android 开发 存储目录的详解

Android 开发 存储目录的详解 简介   Android设备,有3个地方的文件存储位置,他们分别是:  内部存储空间(用户无法浏览到此目录)  外部存储空间(就是手机自身的文件管理目录,用户可以浏览)  SD卡的存储空间(需要插入T卡)  SharedPreferences目录  存储数据库DB目录内…

大数据项目交付国标_在紧迫的期限内交付大型项目

大数据项目交付国标by Paul McGillivray保罗麦吉里夫瑞(Paul McGillivray) 在紧迫的期限内交付大型Web项目 (Delivering a big web project for a tight deadline) This week we launched the first phase of a large website for a fast-growing business, ‘Jump In’. The …

CentOS 安装MySQL(rpm)提示错误Header V3 DSA/SHA1 Signature

提示错误&#xff1a;Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies 错误原因&#xff1a;这是由于yum安装了旧版本的GPG keys造成的 解决办法&#xff1a;后面加上--force --nodeps 原文&#xff1a; 摘要&#xff1a; CentOS安装rpm安装…

linux系统文件的复制,linux操作系统文件复制操作

《linux操作系统文件复制操作》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《linux操作系统文件复制操作(5页珍藏版)》请在人人文库网上搜索。1、网络操作系统”课程实验报告名:号:业:计算机科学与技术间:2012年5月 日师:北京联合大学-信息学院编制Linux-文件的系统…

恶意软件伪装“正规军”,撕开Booster Cleaner“画皮”下的真相

经常使用手机浏览器阅读小说的用户都知道&#xff0c;在浏览器页面经常会出现一些推广游戏应用、手机清理应用等应用的弹窗广告。有时出于方便&#xff0c;我们也会选择直接点开这些弹窗广告进行应用下载。但这种行为并不安全&#xff0c;部分恶意应用会先伪装成“正规军”诱导…

python初学者代码示例_python基础示例

7、写代码 &#xff08;1&#xff09;实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!_name "seven"_pwd "123"name input("username:").strip() pwd input("password:").strip()if name _…

33岁想从头学做网页设计_从头开始设计精美的移动应用

33岁想从头学做网页设计by Harshita Arora通过Harshita Arora 从头开始设计精美的移动应用 (Designing beautiful mobile apps from scratch) I started learning graphic design when I was 13. I learned to design websites from online courses and used to play around w…

Lucene 基础理论 (zhuan)

http://www.blogjava.net/hoojo/archive/2012/09/06/387140.html**************************************** 1. 全文检索系统与Lucene简介 1.1 什么是全文检索与全文检索系统 全文检索是指计算机索引程序通过扫描文章中的每一个词&#xff0c;对每一个词建立一个索引&#xff0…

npm使用指南

npm使用指南 作者&#xff1a;chszs&#xff0c;未经博主同意不得转载。经许可的转载需注明作者和博客主页&#xff1a;http://blog.csdn.net/chszs npm介绍 npm全称为Node Package Manager。是一个基于Node.js的包管理器&#xff0c;也是整个Node.js社区最流行、支持的第三方模…