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 之 软链接与硬链接

本篇博客将在 Linux 基础上,对文件的 软链接硬链接 方式进行简单介绍!

1、文件系统

文件系统:磁盘分区上的文件存储管理模块。

1.1 磁盘分区与 inode
磁盘分区 不仅包括存信息的位置,还有专门的分区 inode,其用于保存所存各种文件的信息,且磁盘分区上有专门的模块叫inode bitmap
(关于磁盘分区的知识,可点击 博客 进行查看)

inode bitmap:保存当前磁盘分区上的所有空分区

inode 节点:文件的元信息节点(名称,时间,权限,数据块地址等)

可用 ls -li 显示文件的 inode 节点号,如图
在这里插入图片描述

1.2 文件存储

文件的存储:在超级块中找到对应 inode 位图(inode bitmap)以及 data 位图区域地址,在对应的位图找到空闲的inode 节点号和空闲数据块号,进而存储文件数据到数据块中,并将文件的元信息保存到 inode 节点中,方便后续进行其他处理操作。(在所在目录文件中加入目录项信息 – 当前文件名和 inode 节点号)

1.3 文件读取

文件数据的读取:从所在目录文件中找到文件的目录项信息(通过文件名找到inode 节点号),在文件系统的 inode 区域中通过 inode 节点号找到 inode 节点,再从节点中获取到数据块号,然后就可从对应数据块中取出数据。

2、链接文件

2.1 概念

软链接文件硬链接文件
这两种文件都是针对自身的源文件创建的,通过创建的软链接或硬链接文件访问文件里的数据。一个源文件可有软链接与硬链接那个访问文件!

2.2 命令操作

2.2.1 硬链接文件
创建代码为

ln test.c test.hard

其中,test.c 为源文件, test.hard 为硬链接文件,.hard 为硬链接文件格式。

硬链接文件创建后,文件的链接数+1,硬链接文件的inode节点号与源文件的inode节点号相同;
硬链接文件实际上只是源文件的一个目录项信息,与源文件共用同一个inode节点。
在这里插入图片描述

如上图, main.hard 即为 main.c 源文件的 硬链接文件。而硬链接文件的创建时间、内存大小、内容等 与 源文件一致!

2.2.2 软链接文件
创建代码为

ln -s test.c test.soft 

同理, test.c 为源文件, test.soft 为软链接文件,.soft 为软链接文件格式。

如图, main.soft 即为 main.c 源文件的 软链接文件
在这里插入图片描述

运行ls -l 后,文件权限以 l 开头的即为软链接文件,如图
在这里插入图片描述

(注:对于硬链接文件,ls -l 无法像软链接文件那样显示!)

上图中,main.soft 文件权限为 lrwxrwxrwxllink,表示符号链接文件或软链接文件;且 main.soft 文件会指向源文件 main.c,而该文件的字节数变为所指文件名称的字符数,即因 main.c 名称的字符数为 6 ,所以 main.soft 的大小为 6 字节。

2.2.3 总结

a、当单独 删除 或 重命名 源文件,硬链接文件内容不会有什么变化,但链接数会减1(原链接数为2),依然可以访问文件;但软链接文件会显示找不到源文件(运行ls -l后,软链接文件的指向会在闪红),即软链接失败!!!!如图
删除源文件:
在这里插入图片描述
重命名文件:
重命名源文件

b、当重新建立源文件后,硬链接与软链接不会报错,且硬链接内容不会消失,而软链接只认文件路径,即软连接文件也不会报错,但硬软链接数也不会有所变化!!!!!
只有当链接数为0,即源文件删除后,硬链接文件也被删除,该文件才会被真正删除(前提是该源文件有硬链接文件!!!)
如图
在这里插入图片描述

c软链接文件可以跨分区建立,但硬链接文件不可以!!!!!!!!!!
软链接文件可以针对目录创建,但硬链接不可以!!!!!!!!!!

d软链接文件可以类比于windows系统的快捷方式!!!!!!
硬链接文件更多用于数据的备份,防止误删!!!!!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:48:04  更:2021-10-13 11:48:43 
 
开发: 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 19:33:32-

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