二十、linux文件系统讲解
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文件系统讲解的更多相关文章
- Linux学习之二十-Linux文件系统
Linux文件系统 文件系统的定义 文件系统是操作系统的必备软件,文件系统是对一个存储设备上的数据(block)和元数据(inode)进行组织的一种机制.文件系统可以帮助用户管理磁盘空间,进行文件的快 ...
- Linux 入门记录:二、Linux 文件系统基本结构
一.树状目录结构 Linux 文件系统是一个倒置的单根树状结构.文件系统的根为"/":文件名严格区分大小写:路径使用"/"分割(Windows 中使用" ...
- 【Linux学习二】Linux文件系统
Linux文件系统结构 ●Linux文件系统是一种倒转的单根结构 ●文件系统的根是"/" ●文件系统严格区分大小写 ●路径使用"/"分割(window下为&qu ...
- 第十二章Linux文件系统与日志
1.inode 包含文件的元信息(1)inode 内容:文件的字节数.拥有者的 UID.GID.文件的读写执行权限.时间戳等,但不包含文件名.文件名是储存在目录的目录项中.(2)查看文件的 inode ...
- 二、linux文件系统之linux启动
Linux组成 kernel shell 文件系统 application(应用程序) 标准库函数 内核源码位置: /usr/src /boot/vmlinuz*(内核压缩文件,启动要加载) ...
- (二十)linux中i2c的ioctl,write,read函数的使用
一.ioctl函数的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned long arg);cmd有I2C_SLAVE,I2C ...
- 二、Linux文件系统之内存管理
虚拟内存 32位:4G 64位:2^64 内存管理: 进程管理 自动分配和管理 支持模块化程序设计 保护和访问控制 长期存储 虚拟内存 <---MMU-->物理内存
- linux文件系统讲解(一)
首先拿个一个硬盘,不能直接使用,要进行分区,比如下面的一块内存: 如果要进行分区,那么怎么分区,所以要有一个内存,用来保存怎么分区的信息,该块内存的名字叫启动块(BootBlock),他的大小是固定的 ...
- Linux文件系统及常用命令
Linux文件系统介绍: 一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上.目录提供了管理文件的一个方便而有效的途径. Linux使用树状目录结 ...
随机推荐
- spring boot集成mybatis(2) - 使用pagehelper实现分页
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- localStorage中使用json
function setLocalJson(name, json) { json = JSON.stringify(json); localStorage.setItem(name, json)} f ...
- decltype关键字
decltype用于编译时类型推导,是以一个普通表达式作为参数,返回该表达式的类型,而且decltype并不会对表达式进行求值. decltype的用法: //推导出表达式类型 ; decltype( ...
- UML-设计模式-本地服务容错-代理模式
在<本地服务容错-适配器+工厂模式>中,总是优先尝试本地服务.但是,有时候需要先尝试外部服务,然后才是本地服务.GoF的代理模式可以解决这个问题. 1.代理模式的一般结构 2.使用代理模式 ...
- [BJDCTF2020]Mark loves cat
0x00 知识点 GitHack读取源码 $$会导致变量覆盖漏洞 0x01解题 dirsearch扫描一下,发现/.git目录,用githack获取一下源码. <?php include 'fl ...
- js 数据
非0数字值 都是true 0和NaN 都是false 任何对象 都是true null 都是false undefined 不适用 详情
- promise核心技术 2.两种回调函数 js中error的处理
抽空详细学习一下什么是回调函数(一个回调函数,也被称为高阶函数) 1.什么样的函数是回调函数 自己定义的(sittimeout不是自己定义的) 没有调用 自己执行 1.同步回调与异步回调函数 同步回调 ...
- JS/JQUERY函数库
1. 判断字符串是否为空 function isEmptyString(str) { return str == undefined || str == "" || str == ...
- Spring中@Value("${}"))取不到值的几种情况
https://blog.csdn.net/dh12313012/article/details/84661169 1. spring组件重写构造方法,在构造方法中引用@Value为null 由于sp ...
- Swift 中调试状态下打印日志
首先我们应该知道Swift中真个程序的入口就是在AppDelegate.swift中.所以在打印日志在 AppDelegate.swift中是这样的 import UIKit @UIApplicati ...