硬链接、软链接和inode
一.inode
在Linux中,“一切皆文件”。 唯一标识文件的是inode而非文件名,文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 寻找正确的文件数据块。
什么是数据块呢?文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。文件数据都储存在"块"中。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息,比如文件的创建者、文件的创建日期、文件的大小等等。
可以用stat命令,查看某个文件的inode信息:stat example.txt
二.硬链接与软链接
使用命令 mv 移动并重命名文件不影响文件的用户数据及 inode 号。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。
1.硬链接
若一个 inode 对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。硬链接可由命令 ln 创建。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
- 文件有相同的 inode 及 data block;
- 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同 inode 号的文件。
2.软连接
软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。因此软链接的创建与使用没有类似硬链接的诸多限制:
- 软链接有自己的文件属性及权限等;
- 可对不存在的文件或目录创建软链接;
- 软链接可交叉文件系统;
- 软链接可对文件或目录创建;
- 创建软链接时,链接计数 i_nlink 不会增加;
- 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
学习资料:
1.Linux inode学习
2.理解inode
3.理解Linux的硬链接与软连接
转载于:https://www.cnblogs.com/Rosanna/p/3598929.html
硬链接、软链接和inode相关推荐
- linux 的文件软链接隐藏,Linux inode及硬链接软链接详解
Linux inode及硬链接软链接详解 York • 2020 年 09 月 28 日 Loading... 操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如 `Linux`操作系统的 ...
- linux 硬链接 软链接 简介
在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 查看lin ...
- linux 硬链接 软链接_Linux中的软链接–完整参考
linux 硬链接 软链接 A link in Linux systems are pointers to a file or a directory. There are two types of ...
- Windows下mklink使用, 硬链接, 软链接和快捷方式的区别
Windows下mklink使用, 硬链接, 软链接和快捷方式的区别 mklink是windows系统下创建符号链接和硬链接的命令工具,它是一个很好的解决文件系统问题的工具.使用它需要管理员权限. ...
- 深入理解linux文件系统( 理解inode与block,理解硬链接软链接,掌握恢复误删文件及其分析方法,掌握用户日志及其查询命令 )
文章目录 深入理解linux文件系统 前言 inode与block详解 inode和bolck概述 1:数据(block)块: 2:元信息 : inode(索引节点) inodu的内容 Linux系统 ...
- Linux硬链接 软链接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...
- Linux 硬链接软链接
LINUX 下的链接文件有点类似于Windows的快捷方式,但又不完全一样. 链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接). 硬链接类似于复制了一个新的文件,这个文件不会随着源文件的丢 ...
- linux文件存储、inode、硬链接、软链接
目录 介绍 inode的内容 inode的大小 inode号码 目录文件 硬链接 软链接 介绍 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512 ...
- 了解inode,软链接和硬链接
目录 一.inode 1.1 什么是inode 1.2 简单了解文件系统 1.2.1 硬盘硬件结构 1.2.2 简单了解文件系统 1.2.3 目录文件 2. 总结 二.硬链接 三.软链接 一.inod ...
最新文章
- linux中的目录结构---Linux学习笔记
- 支付宝封杀比特币,可以说是毫不留情!
- Android自定义控件学习(四)------创建一个视图类
- python安装selenium报错_新手用Python运行selenium的常见问题
- Ubuntu18.04安装markdown工具Typora
- 【IT基础】如何休息(每天都很累,但你真的会正确的休息方式么)
- 311 复制文件的异常处理
- C#员工考勤管理系统源码 考勤工资管理系统源码
- eNSP网络类型实验报告
- 超简单安装油猴(tampermonkey)脚本及使用教程
- SpringMVC在返回JSON数据时出现406错误解决方案
- 宏病毒的研究与实例分析02——复合文档格式分析
- 微信发个原图,居然隐私曝光这么多…可怕
- 时序分析基本概念介绍Timing Derate
- inprivate浏览是什么意思_保护Internet隐私,打开IE浏览器InPrivate浏览默认情况下...
- 普源精电科创板上市:股价重挫35% 公司市值48亿
- RHEL 升级内核和回退步骤
- 2-3 CAD基础 删除(erase)
- 智慧社区的介绍,为什么要做智慧社区
- js室内地图开发_室内地图 JavaScript API
热门文章
- c++构造函数以及类中变量初始化顺序
- 视音频技术零基础学习方法
- linux shell中的命令自动补全(compgen complete)与 命令行参数解析
- python学习笔记-5.18
- HDU-2612 Find a way
- javaweb学习总结(十)——HttpServletRequest对象(一)
- Apache检查配置文件语法
- 动态生成一个继承接口的类
- tuxedo文件ubbconfig配置说明
- WSE3.0构建Web服务安全(3):WSE3.0策略配置、证书、签名、与实例开发