• 对磁盘格式化就是写入文件系统,文件系统本身也要占用一定的空间。文件系统相当于一张表,操作系统对硬盘的读写单位是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块,硬链接不成立。软链接是指向文件名,所以软链接可以跨分区。

更多内容:点击打开链接

文件系统及软链接和硬链接相关推荐

  1. Linux 基础I/O :文件描述符,重定向,文件系统,软链接和硬链接,动态库和静态库

    文件描述符 重定向 文件系统 软链接和硬链接 动态库和静态库 文件描述符 上面两个接口分别是c语言的fread接口和linux的read接口,当我们在使用的时,可能会有疑问,为什么linux的io接口 ...

  2. 【存储知识】文件系统与硬盘存储(分区、格式化、挂载、inode、软链接与硬链接)

    一.Linux系统的文件存储结构 在Linux系统中,对计算机中的数据和硬件资源进行管理都是以文件的形式,目录.字符设备.套接字.硬盘.光驱.打印机等都被抽象成文件形式("Linux系统一切 ...

  3. 特殊权限之set uid,set gid,sticky bit以及软链接和硬链接

    为什么80%的码农都做不了架构师?>>>    特殊权限之 set uid 权限说明:set uid权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限.比如passwd这 ...

  4. centos7删除符号链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  5. linux 软链接_Linux 中软链接和硬链接的区别 | Linux 中国

    链接(Link)是一种快捷访问机制,它通过一个文件指向原始文件或目录的方式实现快捷访问,同时还记录了原始文件或目录的一些信息.https://linux.cn/article-12270-1.html ...

  6. linux 软链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  7. Linux系统中软链接与硬链接使用特点

    链接Link是一种快捷访问机制,它通过一个文件指向原始文件或目录的方式实现快捷访问,同时还记录了原始文件或目录的一些信息. 链接允许多个不同文件对同一个文件进行引用. 什么是软链接 符号链接Symbo ...

  8. linux文件软链接与硬链接

    1.命令格式: ln [参数][源文件或目录][目标文件或目录] 软链接只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间. 2.命令功能: Linux文件系统中,有所谓的链接(link),我们 ...

  9. Linux ln命令、软链接和硬链接的区别

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接. 当 ...

最新文章

  1. 反编译工具jad简单用法
  2. Basler相机Pylon4配置VC++6.0
  3. php编写TCP服务端和客户端程序
  4. 不提拔你,就是因为你只想把工作做好
  5. MMO游戏数值框架概述(偏模拟方向)
  6. ASP.NET 3.5核心编程学习笔记(44):HTTP处理程序的编写之从数据库加载图像
  7. 全网首发:char数组矩阵转bit的算法
  8. msdtc与oracle,如何解决在Win2003的Oracle链接服务器上MSDTC事务失败问题
  9. linux访问win10共享文件夹权限,win10共享文件夹无法访问提示“你没有权限访问”怎么办...
  10. 【论文解读】深度学习目标检测 | R-CNN系列里程碑 | 一文弄懂Faster R-CNN
  11. 如何清除远程桌面连接记录
  12. 戴尔服务器r420系统安装系统,DELLR420+R720服务器raid+驱动安装教程.docx
  13. 云计算技术学习书籍推荐
  14. 从零开始学习SEO的基础概念
  15. 加大货币发行量 quantitative easing
  16. 平面直角系【坐标系旋转】、【点绕坐标系旋转】、【A点绕B点旋转】
  17. oracle 删除字段方法 alter table set unused
  18. java 月份缩写_关于java:如何将日期字符串解析为Date?
  19. c语言分支程序讲解,C语言基础知识之(二):分支
  20. 仿淘宝商品详情页TabLayout+ListView

热门文章

  1. libevent evhttp学习——http客户端
  2. LeetCode 153 寻找旋转排序数组中的最小值
  3. Python判断两个域名的主域名是否相同
  4. C语言版:装饰器模式
  5. 算法学习——动态规划之装载问题
  6. AMD宣布裁员7% 约710员工将失去工作
  7. 解决ng界面长表达式(ui-set)
  8. 一般软件工程师怎样拥有更多的资产
  9. live555学习笔记3-消息循环
  10. request.cookie[name]的到的过期时间是{0001-1-1 0:00:00}