一.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相关推荐

  1. linux 的文件软链接隐藏,Linux inode及硬链接软链接详解

    Linux inode及硬链接软链接详解 York • 2020 年 09 月 28 日 Loading... 操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如 `Linux`操作系统的 ...

  2. linux 硬链接 软链接 简介

    在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 查看lin ...

  3. linux 硬链接 软链接_Linux中的软链接–完整参考

    linux 硬链接 软链接 A link in Linux systems are pointers to a file or a directory. There are two types of ...

  4. Windows下mklink使用, 硬链接, 软链接和快捷方式的区别

    Windows下mklink使用,   硬链接, 软链接和快捷方式的区别 mklink是windows系统下创建符号链接和硬链接的命令工具,它是一个很好的解决文件系统问题的工具.使用它需要管理员权限. ...

  5. 深入理解linux文件系统( 理解inode与block,理解硬链接软链接,掌握恢复误删文件及其分析方法,掌握用户日志及其查询命令 )

    文章目录 深入理解linux文件系统 前言 inode与block详解 inode和bolck概述 1:数据(block)块: 2:元信息 : inode(索引节点) inodu的内容 Linux系统 ...

  6. Linux硬链接 软链接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...

  7. Linux 硬链接软链接

    LINUX 下的链接文件有点类似于Windows的快捷方式,但又不完全一样. 链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接). 硬链接类似于复制了一个新的文件,这个文件不会随着源文件的丢 ...

  8. linux文件存储、inode、硬链接、软链接

    目录 介绍 inode的内容 inode的大小 inode号码 目录文件 硬链接 软链接 介绍 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512 ...

  9. 了解inode,软链接和硬链接

    目录 一.inode 1.1 什么是inode 1.2 简单了解文件系统 1.2.1 硬盘硬件结构 1.2.2 简单了解文件系统 1.2.3 目录文件 2. 总结 二.硬链接 三.软链接 一.inod ...

最新文章

  1. linux中的目录结构---Linux学习笔记
  2. 支付宝封杀比特币,可以说是毫不留情!
  3. Android自定义控件学习(四)------创建一个视图类
  4. python安装selenium报错_新手用Python运行selenium的常见问题
  5. Ubuntu18.04安装markdown工具Typora
  6. 【IT基础】如何休息(每天都很累,但你真的会正确的休息方式么)
  7. 311 复制文件的异常处理
  8. C#员工考勤管理系统源码 考勤工资管理系统源码
  9. eNSP网络类型实验报告
  10. 超简单安装油猴(tampermonkey)脚本及使用教程
  11. SpringMVC在返回JSON数据时出现406错误解决方案
  12. 宏病毒的研究与实例分析02——复合文档格式分析
  13. 微信发个原图,居然隐私曝光这么多…可怕
  14. 时序分析基本概念介绍Timing Derate
  15. inprivate浏览是什么意思_保护Internet隐私,打开IE浏览器InPrivate浏览默认情况下...
  16. 普源精电科创板上市:股价重挫35% 公司市值48亿
  17. RHEL 升级内核和回退步骤
  18. 2-3 CAD基础 删除(erase)
  19. 智慧社区的介绍,为什么要做智慧社区
  20. js室内地图开发_室内地图 JavaScript API

热门文章

  1. c++构造函数以及类中变量初始化顺序
  2. 视音频技术零基础学习方法
  3. linux shell中的命令自动补全(compgen complete)与 命令行参数解析
  4. python学习笔记-5.18
  5. HDU-2612 Find a way
  6. javaweb学习总结(十)——HttpServletRequest对象(一)
  7. Apache检查配置文件语法
  8. 动态生成一个继承接口的类
  9. tuxedo文件ubbconfig配置说明
  10. WSE3.0构建Web服务安全(3):WSE3.0策略配置、证书、签名、与实例开发