IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux中的软链接与硬链接 -> 正文阅读

[系统运维]Linux中的软链接与硬链接

一、inode的概念

此部分参考:https://blog.csdn.net/ML908/article/details/103374494

1、一个文件的数据包括元信息和实际数据,元信息包括以下内容:

  • 文件的字节数
  • 文件拥有者的User ID
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳等

2、这些元信息保存在inode(索引节点)中,每个文件都必须占用一个inode,每个inode都有一个号码,在Linux系统内部不适用文件名,会使用inode号码来识别文件
3、目录文件的结构:
目录也是一种文件,创建一个空的目录就是创建一个内容为0的文件,每一行称为一个目录项
在这里插入图片描述
4、Linux系统文件三个主要的时间属性

ctime(change time)最后一次改变文件或目录(属性)的时间
atime(access time)最后一次访问文件或目录的时间
mtime(modify time)最后一次修改文件或目录(内容)的时间

5、查看inode号码

ls -i file  ##显示文件的inode号码
stat file  ##显示文件的元信息,从中获取inode号码

在这里插入图片描述6、inode的作用:
(1)当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
(2)移动或重命名文件时,只改变文件名,不影响inode号码
(3)打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
7、使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量
在这里插入图片描述8、访问文件的简单流程
在这里插入图片描述

二、软链接

软链接相当于源文件的一个快捷方式,存放源文件的路径指向,有自己的 inode 号以及用户数据块。

ln -s 源文件 目标文件位置
  • 软链接有自己的文件属性及权限等,可对不存在的文件或目录创建软链接。
  • 软链接可以指向目录,而且软链接所指向的目录可以位于不同的文件系统中。

在这里插入图片描述

  • 当原始文件被删除后,链接文件也将失效。
  • 在删除源文件后,向软链接里写入内容,源文件会恢复,并包含与软链接相同的内容。

在这里插入图片描述

三、硬链接

硬链接文件本质上与源文件其实是同一个文件,相当于以文件副本的形式存在,但不占用实际空间。

ln 源文件 目标文件位置
  • 每添加一个硬链接,该文件的inode链接数就会增加1;而且只有当该文件的inode链接数为0时,才算彻底将它删除。
  • 硬链接实际上是指向原文件的inode的指针,所以硬链接的文件属性及权限等和源文件均一致。

在这里插入图片描述

  • 链接数示意(链路数为2)
    在这里插入图片描述
  • 当无论修改硬链接或者源文件的内容,另外一个都会同步更新
  • 删除源文件后,硬链接仍旧可用

在这里插入图片描述

硬链接的两个限制

  • 只能对已存在的文件进行创建,不能对目录进行创建

由于硬链接是同步更新的,所以引入了对目录的硬链接就有可能在目录中引入循环,在目录遍历的时候系统就会陷入无限循环当中,这样导致无法定位到访问目录

  • 硬链接不能跨文件系统创建

不同的文件系统的文件管理方式不同,甚至有些文件系统不是索引文件系统,并不一定两个文件系统的inode有相同的含义。即使有相同inode含义,硬链接的几个文件,具有相同的inode号码,不同文件系统中,也可能有使用该inode号码的文件,也会产生矛盾。

四、软链接与硬链接的区别

软链接硬链接
本质上不同的文件(快捷方式)同一文件(副本)
inode号码不同相同
目录支持对目录创建不支持对目录创建
文件系统支持跨文件系统不支持跨文件系统
文件类型L(symbolic link)与源文件一致
相互关系删除源文件,链接失效删除源文件,链接不受影响
生成命令ln -sln
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:59:45  更:2021-11-12 20:00:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:26:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码