1.分区和文件系统的关系:

为什么需要格式化呢?这是因为分区文件系统在没有格式化前,操作系统是无法识别系统分区的格式的,就没办法组织文件目录属性和权限等内容,把分区格式化成操作系统支持的某个文件系统后,在存放数据,系统就会根据这个文件系统的格式来存取文件了。文件的格式,必须是系统支持的。

所以,分区和文件系统的关系就是必须格式化:mkfs.ext4 -b 4096 -l 1024 /dev/sdb1

2.ext2 文件系统细节:

这是个典型的操作系统,ext3\ext4都是它的升级版。操作系统中的数据分为文件内容和文件属性两部分。为block和inode,除了这个,操作系统还有superblock.记录inode和block的数量,在超级块里面。

多年来,该文件系统一直广泛应用linux。ext2的经典实现为linux内核中的ext2fs文件系统驱动,ext2为数个linux发行版的默认文件系统,如redhat、centos

3.到底什么是文件系统?

文件系统就是一种存储和组织计算机数据文件的机制方法,它使得对计算机文件系统内数据的访问和查找变得容易、简单。如 ext2\ext3\ext4\fat\ntf等文件系统。

所以严格的说,文件系统就是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。

工作中指定格式化类型:  mkfs -t ext3  /dev/sdb1

4.文件系统的体系:

ext\ext2\ext3\ext4是Red hat和Centos采用的默认文件系统类型,其中ext2\ext3\ext4是ext文件系统的升级。这里要注意,centos7的默认文件系统是xfs。

5.      操作系统的存储数据最小单位是块区域,也叫逻辑块或者数据块。 inode包含:记录文件属性、文件内容放在哪个块中、指针。这个指针指向了文件内容所在的数据块的位置,好让操作系统能读取到文件系统内容。

6.什么是块设备?

块设备就是 以块为设备收发数据的设备。反正就是不需要顺序读取,随意访问。硬盘是块设备,磁盘为字符设备。

7.逻辑块是什么?

逻辑块就是block的概念。   磁盘的最小单位为扇区。但是一个扇区一个扇区的读取内容太慢了,就有了逻辑块的概念。是在我们在格式化的时候创建的文件系统所指定的“最小存储单位”,是扇区的整数倍。如果磁头按照块来读取数据,那么会快的多。

从5,6,7就可以得到,为什么要格式化了,就是开头所说的,为了更好的进行读写,就有了格式化文件系统的概念。

8.一个块的组成:超级块、位图、组描述符表、块位图、数据块,一个块组中的所有inode组成了inode表,inode表占多少个块在格式化时就要决定并写入块组描述符中。inode表用于跟踪定位每个文件,inode与文件一起存放在磁盘中,系统缓存把inode写入内存建立映射,加快文件系统速度。

9.ext4向下兼容ext3,且容量大。

二十、linux文件系统讲解的更多相关文章

  1. Linux学习之二十-Linux文件系统

    Linux文件系统 文件系统的定义 文件系统是操作系统的必备软件,文件系统是对一个存储设备上的数据(block)和元数据(inode)进行组织的一种机制.文件系统可以帮助用户管理磁盘空间,进行文件的快 ...

  2. Linux 入门记录:二、Linux 文件系统基本结构

    一.树状目录结构 Linux 文件系统是一个倒置的单根树状结构.文件系统的根为"/":文件名严格区分大小写:路径使用"/"分割(Windows 中使用" ...

  3. 【Linux学习二】Linux文件系统

    Linux文件系统结构 ●Linux文件系统是一种倒转的单根结构 ●文件系统的根是"/" ●文件系统严格区分大小写 ●路径使用"/"分割(window下为&qu ...

  4. 第十二章Linux文件系统与日志

    1.inode 包含文件的元信息(1)inode 内容:文件的字节数.拥有者的 UID.GID.文件的读写执行权限.时间戳等,但不包含文件名.文件名是储存在目录的目录项中.(2)查看文件的 inode ...

  5. 二、linux文件系统之linux启动

    Linux组成 kernel  shell  文件系统  application(应用程序) 标准库函数 内核源码位置: /usr/src   /boot/vmlinuz*(内核压缩文件,启动要加载) ...

  6. (二十)linux中i2c的ioctl,write,read函数的使用

    一.ioctl函数的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned long arg);cmd有I2C_SLAVE,I2C ...

  7. 二、Linux文件系统之内存管理

    虚拟内存  32位:4G 64位:2^64 内存管理: 进程管理 自动分配和管理 支持模块化程序设计 保护和访问控制 长期存储 虚拟内存  <---MMU-->物理内存

  8. linux文件系统讲解(一)

    首先拿个一个硬盘,不能直接使用,要进行分区,比如下面的一块内存: 如果要进行分区,那么怎么分区,所以要有一个内存,用来保存怎么分区的信息,该块内存的名字叫启动块(BootBlock),他的大小是固定的 ...

  9. Linux文件系统及常用命令

    Linux文件系统介绍: 一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上.目录提供了管理文件的一个方便而有效的途径. Linux使用树状目录结 ...

随机推荐

  1. spring boot集成mybatis(2) - 使用pagehelper实现分页

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  2. localStorage中使用json

    function setLocalJson(name, json) { json = JSON.stringify(json); localStorage.setItem(name, json)} f ...

  3. decltype关键字

    decltype用于编译时类型推导,是以一个普通表达式作为参数,返回该表达式的类型,而且decltype并不会对表达式进行求值. decltype的用法: //推导出表达式类型 ; decltype( ...

  4. UML-设计模式-本地服务容错-代理模式

    在<本地服务容错-适配器+工厂模式>中,总是优先尝试本地服务.但是,有时候需要先尝试外部服务,然后才是本地服务.GoF的代理模式可以解决这个问题. 1.代理模式的一般结构 2.使用代理模式 ...

  5. [BJDCTF2020]Mark loves cat

    0x00 知识点 GitHack读取源码 $$会导致变量覆盖漏洞 0x01解题 dirsearch扫描一下,发现/.git目录,用githack获取一下源码. <?php include 'fl ...

  6. js 数据

    非0数字值 都是true  0和NaN 都是false 任何对象   都是true  null       都是false undefined 不适用 详情

  7. promise核心技术 2.两种回调函数 js中error的处理

    抽空详细学习一下什么是回调函数(一个回调函数,也被称为高阶函数) 1.什么样的函数是回调函数 自己定义的(sittimeout不是自己定义的) 没有调用 自己执行 1.同步回调与异步回调函数 同步回调 ...

  8. JS/JQUERY函数库

    1. 判断字符串是否为空 function isEmptyString(str) { return str == undefined || str == "" || str == ...

  9. Spring中@Value("${}"))取不到值的几种情况

    https://blog.csdn.net/dh12313012/article/details/84661169 1. spring组件重写构造方法,在构造方法中引用@Value为null 由于sp ...

  10. Swift 中调试状态下打印日志

    首先我们应该知道Swift中真个程序的入口就是在AppDelegate.swift中.所以在打印日志在 AppDelegate.swift中是这样的 import UIKit @UIApplicati ...