硬盘中的静态文件和inode(i节点)

(1)文件平时都在存放在硬盘中的,硬盘中存储的文件以一种固定的形式存放的,我们叫静态文件。

(2)一块硬盘中可以分为两大区域:一个是硬盘内容管理表项,另一个是真正存储内容的区域。操作系统访问硬盘时是先去读取硬盘内容管理表,从中找到我们要访问的那个文件的扇区级别的信息,然后再用这个信息去查询真正存储内容的区域,最后得到我们要的文件。

(3)操作系统最初拿到的信息是文件名,最终得到的是文件内容。第一步就是去查询硬盘内容管理表,这个管理表中以文件为单位记录了各个文件的各种信息,每一个文件有一个信息列表(我们叫inode,i节点,其实质是一个结构体,这个结构体有很多元素,每个元素记录了这个文件的一些信息,其中就包括文件名、文件在硬盘上对应的扇区号、块号等)

强调:硬盘管理的时候是以文件为单位的,每个文件一个inode,每个inode有一个数字编号,对应一个结构体,结构体中记录了各种信息。

(4)联系平时实践,格式化硬盘(U盘)时发现有:快速格式化和底层格式化。快速格式化非常快,格式化一个32GB的U盘只要1秒钟,普通格式化格式化速度慢。这两个的差异?其实快速格式化就是只删除了U盘中的硬盘内容管理表(其实就是inode),真正存储的内容没有动。这种格式化的内容是有可能被找回的。

内存中被打开的文件和vnode(v节点)

(1)一个程序的运行就是一个进程,我们在程序中打开的文件就属于某个进程。每个进程都有一个数据结构用来记录这个进程的所有信息(叫进程信息表),表中有一个指针会指向一个文件管理表,文件管理表中记录了当前进程打开的所有文件及其相关信息。文件管理表中用来索引各个打开的文件的index就是文件描述符fd,我们最终找到的就是一个已经被打开的文件的管理结构体vnode

(2)一个vnode中就记录了一个被打开的文件的各种信息,而且我们只要知道这个文件的fd,就可以很容易的找到这个文件的vnode进而对这个文件进行各种操作。

转载于:https://www.cnblogs.com/CYP01/p/6086901.html

linux系统如何管理文件相关推荐

  1. linux权限管理命令chown,详解Linux系统中管理文件权限的chown和chmod命令

    chown用法:chown [选项]... [所有者][:[组]] 文件... 或:chown [选项]... --reference=参考文件 文件... 更改每个文件的所有者和/或所属组. 当使用 ...

  2. Linux操作与管理文件(多次打开同一文件,文件共享,fcntl函数,标准IO库)

    1.linux系统如何管理文件 硬盘中的静态文件和inode: (1)硬盘分为两大区域:一个是硬盘内容管理表项,另一个是真正存储内容的区域.先去读取硬盘内容管理表,找到要访问的存储内容的区域,再用得到 ...

  3. Linux系统编程20:基础IO之从内核代码深刻理解Linux是如何管理文件及文件描述符的本质是什么

    文章目录 (1)文件描述符到底是什么 A:输出描述符 B:文件描述符 (2)系统如何管理文件 (3)一切皆文件 (4)用源代码验证 (5)FILE (1)文件描述符到底是什么 A:输出描述符 编写如下 ...

  4. linux 软件 web管理系统,如何快速安装Webmin(linux系统web管理配置工具)

    如何快速安装Webmin(linux系统web管理配置工具) 简介: Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作 ...

  5. linux系统用户组管理

    linux系统用户组管理 Linux支持用户组,用户组就是具有相同特征的用户的集合:一个组可以包含多个用户,每个用户也可以属于不同的组用户组逻辑地组织用户账号集合在一起,它允许用户在组内共享文件.系统 ...

  6. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  7. linux软件包管理 pdf,中标麒麟Linux系统软件包管理介绍(22页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统软件包管理介绍 技术创新,变革未来 本章目标 •了解中标麒麟Linux服务器操作系统中应用程序的 组成: •了解中标麒麟Linux服务器 ...

  8. 2.1 Linux系统服务器管理工具使用教程(Xshell 6篇)

    Linux系统远程管理工具使用教程(Xshell 6篇) 1. 本地电脑安装xshell 2. 新建连接 3. 配置信息 1. 本地电脑安装xshell 首先下载Xshell到本地电脑,下载Xshel ...

  9. Linux 系统 ldirectord.cf 文件详解

    Linux 系统 ldirectord.cf 文件详解 时间:2012-04-06 09:35 来源:未知 作者:admin 点击:129次 ldirectord使用一个配置文件建立IPVS表,你可以 ...

最新文章

  1. java实现将A表数据转移到B表_解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表(merge into)...
  2. python 十六进制转中文_Python列表中包含中文时输出十六进制转中文的小方法
  3. .net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制
  4. 修改网页代码_网站建设中使用简洁规范代码的重要性
  5. 多线程实战(二)线程同步
  6. 12个有趣的C语言问答_sunyrising-ChinaUnix博客
  7. 使用 Python 和 Flask 实现 RESTful services
  8. Matlab将double类型转换为正整数类型
  9. 数据库设计工具-----PD
  10. php 缩略图插件,ZblogPHP SF的缩略图插件阿帕奇服务器(.htaccess)的缩略图实现伪静态...
  11. 模型评估与选择(后篇)-代价曲线
  12. 【Flutter】返回首页
  13. 推荐5 个 NeoVim GUI 编辑器
  14. 比较两个字符串的大小
  15. SQL Server 追踪Profiler,SQL Server的性能优化工具
  16. Liunx系统格式化磁盘和挂载备份盘
  17. Mybatis实战练习六【批量删除Mybatis参数传递】
  18. 网页歌单html制作,网页内嵌网易云插件全程(包括生成自己歌单的外链)
  19. quartus频率计 时钟设置_频率计实验报告.doc
  20. 简报悦读:教育部取消5类高考加分项目,猿辅导纪录片讲述十年坚守

热门文章

  1. AutoIT: ControlCommand是一个非常重要的指令
  2. VC++工程配置的大体流程 看图说话
  3. 大数据之-Hadoop3.x_MapReduce_ReduceJoin案例Reducer_案例完成---大数据之hadoop3.x工作笔记0131
  4. js技术要点---document.write()方法在IE浏览器和火狐浏览器下面的兼容性问题
  5. 云计算学习笔记005---Hadoop HDFS和MapReduce 架构浅析
  6. 人脸识别FAR值重新认识
  7. 深度理解cnn 网络
  8. Visual studio 2013 err:visual studio no editoroptiondefinition export found for the given option ...
  9. java 杭电3784继续xxx定律 栈的使用
  10. 杭电2540遮挡判断