文件系统及软链接和硬链接
对磁盘格式化就是写入文件系统,文件系统本身也要占用一定的空间。文件系统相当于一张表,操作系统对硬盘的读写单位是block,分为四大类: super block、inode block、directory block、block。
- ls -i 文件 查看文件的inode号;ls -di 目录 查看目录的inode号;
- 当我们删除/a.txt时,super block将a.txt的inode号标记为free, 并在directory block下把文件名和inode号的对应关系删除,同时将存放a.txt内容的block标记为free。也就是说a.txt检索不到了,但内容还在硬盘中。下次再有文件要写入时,super block就会把要写入的内容覆盖到将标记为free的区域。所以,再被覆盖写入前,数据并没有真正消失,只要能重建检索关系,就能恢复数据。
软链接
ln -s /源文件路径 /目标文件路径 建立软连接,相当于windows中的快捷方式
特点:删除链接文件,源文件无影响;删除源文件,链接文件失效;修改源文件/链接文件,内容都会改变。——》软链接是指向文件名的
分析,为a.txt 创建软链接b.txt ,a.txt.的inode号指向一个block(里面实际存放a.txt的内容),b.txt的inode指向a.txt,因此删除b.txt对a.txt无影响,反之删除a.txt,b.txt无指向内容,成为死链接。
硬链接
ln 源文件路径 目标文件路径 建立硬链接
特点:删除源文件,链接文件无影响;删除链接文件,源文件无影响;修改源文件/链接文件,内容都变。——》硬链接指向inode,inode指向唯一的block块
基于以上对比,硬链接不能跨分区,因为硬链接的inode相同,而inode指向唯一的block,如果跨分区,则inode会指向各自分区的的block块,硬链接不成立。软链接是指向文件名,所以软链接可以跨分区。
更多内容:点击打开链接
文件系统及软链接和硬链接相关推荐
- Linux 基础I/O :文件描述符,重定向,文件系统,软链接和硬链接,动态库和静态库
文件描述符 重定向 文件系统 软链接和硬链接 动态库和静态库 文件描述符 上面两个接口分别是c语言的fread接口和linux的read接口,当我们在使用的时,可能会有疑问,为什么linux的io接口 ...
- 【存储知识】文件系统与硬盘存储(分区、格式化、挂载、inode、软链接与硬链接)
一.Linux系统的文件存储结构 在Linux系统中,对计算机中的数据和硬件资源进行管理都是以文件的形式,目录.字符设备.套接字.硬盘.光驱.打印机等都被抽象成文件形式("Linux系统一切 ...
- 特殊权限之set uid,set gid,sticky bit以及软链接和硬链接
为什么80%的码农都做不了架构师?>>> 特殊权限之 set uid 权限说明:set uid权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限.比如passwd这 ...
- centos7删除符号链接_面试 | Linux 下软链接和硬链接的区别
在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...
- linux 软链接_Linux 中软链接和硬链接的区别 | Linux 中国
链接(Link)是一种快捷访问机制,它通过一个文件指向原始文件或目录的方式实现快捷访问,同时还记录了原始文件或目录的一些信息.https://linux.cn/article-12270-1.html ...
- linux 软链接_面试 | Linux 下软链接和硬链接的区别
在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...
- Linux系统中软链接与硬链接使用特点
链接Link是一种快捷访问机制,它通过一个文件指向原始文件或目录的方式实现快捷访问,同时还记录了原始文件或目录的一些信息. 链接允许多个不同文件对同一个文件进行引用. 什么是软链接 符号链接Symbo ...
- linux文件软链接与硬链接
1.命令格式: ln [参数][源文件或目录][目标文件或目录] 软链接只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间. 2.命令功能: Linux文件系统中,有所谓的链接(link),我们 ...
- Linux ln命令、软链接和硬链接的区别
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接. 当 ...
最新文章
- 反编译工具jad简单用法
- Basler相机Pylon4配置VC++6.0
- php编写TCP服务端和客户端程序
- 不提拔你,就是因为你只想把工作做好
- MMO游戏数值框架概述(偏模拟方向)
- ASP.NET 3.5核心编程学习笔记(44):HTTP处理程序的编写之从数据库加载图像
- 全网首发:char数组矩阵转bit的算法
- msdtc与oracle,如何解决在Win2003的Oracle链接服务器上MSDTC事务失败问题
- linux访问win10共享文件夹权限,win10共享文件夹无法访问提示“你没有权限访问”怎么办...
- 【论文解读】深度学习目标检测 | R-CNN系列里程碑 | 一文弄懂Faster R-CNN
- 如何清除远程桌面连接记录
- 戴尔服务器r420系统安装系统,DELLR420+R720服务器raid+驱动安装教程.docx
- 云计算技术学习书籍推荐
- 从零开始学习SEO的基础概念
- 加大货币发行量 quantitative easing
- 平面直角系【坐标系旋转】、【点绕坐标系旋转】、【A点绕B点旋转】
- oracle 删除字段方法 alter table set unused
- java 月份缩写_关于java:如何将日期字符串解析为Date?
- c语言分支程序讲解,C语言基础知识之(二):分支
- 仿淘宝商品详情页TabLayout+ListView