Linux磁盘与文件系统管理概要
Linux磁盘与文件系统管理
硬盘组成与分区
- 硬盘组成
- 圆形的盘片(主要记录数据)
- 机械手臂与磁头(可读取盘片上的数据)
- 主轴马达,转动盘片,让机械手臂的磁头在盘片上读取数据
- 扇区(Sector)为最小的物理存储单位,每个扇区512bytes
- 将扇区组成一个圆,那就是柱面(Cylinder),柱面是分区的最小单位
- 第一个扇区最重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表(partition table),其中MBR占446bytes,partition table占64bytes
- 磁盘分区:分区的开始柱面到结束柱面
- 主分区与扩展分区最多可以有4个(硬盘的限制)
- 扩展分区最多只能有一个(操作系统限制)
- 逻辑分区是由扩展分区分出来的
- 能够被格式化后作为数据访问的分区为主分区与逻辑分区,扩展分区无法格式化
- 逻辑分区的数量因操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11个逻辑分区(5号到15号)
文件系统特性
- super block(1024bytes):记录此文件系统的整体信息,包括inode/block的总量,使用量,剩余量,文件系统格式与相关信息。
- inode:记录文件属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码。
- block:记录文件的实际内容,若文件太大时会占用多个block,inode只有128bytes,记录一个block号码要4bytes。
- inode将记录block号码的区域定义为12个直接,一个间接,一个双间接,一个三间接记录区。
日志文件系统:例如EXT3
- 预备:当系统要写入一个文件时,会现在日志记录块中记录某个文件准备要写入的信息。
- 实际写入:开始写入文件的权限与数据,开始更新meta data数据。
- 结束:完成数据与meta data的更新后在日志记录块中完成该文件记录。
虚拟文件系统(Virtual Filesystem Switch VFS)
整个Linux系统都是通过VFS内核功能去读取文件系统,都是VFS在进行管理,用户并不需要知道每个分区的文件系统是什么,VFS会主动帮我们做好读取的操作。
挂载点
挂载点一定是目录,该目录为进入该文件系统的入口
文件系统的简单操作
- 磁盘与目录的容量
- df:列出文件系统的整体磁盘使用量
- du:评估文件系统的磁盘使用量(常用于评估目录所占容量)
- 与df不一样的是,du会直接到文件系统内去查找所有文件数据
- 连接文件:ln
- 硬连接或实际连接:创建新文件,该文件连接到了目标文件的inode,都指向同一个block,不管删除其中哪个文件,都可以通过另一个文件找到inode和block读取到文件数据。
- 硬连接限制:不能跨文件系统,不能连接目录
- 软连接:创建一个新文件,该文件有自己的inode和block,只是block里面存的是另一个文件的地址,当那个地址的文件被删除时,该文件就读取不到文件数据了。
- ln [-sf] 源文件 目标文件,不加任何参数就是硬连接。
-s 软连接
-f 如果目标文件存在时,先删除再创建
磁盘的分区,格式化,检验与挂载
- 分区:fdisk [-l] 设备名称
- 磁盘格式化:mkfs [-t 文件格式系统] 设备文件名
- 磁盘检验:fsck [-t 文件系统] 设备名称
- 磁盘挂载与卸载
- 挂载:mount 设备文件名 挂载点
- 卸载:umount 设备文件名 挂载点
- 挂载条件:单一文件系统不能被重复挂载在不同的挂载点;单一目录不能重复挂载多个文件系统;作为挂载点的目录理论上应该是空目录。
- 设置开机挂载:直接到/etc/fstab去修改,下面说说系统挂载的限制:
- 根目录是必须挂载的,而且一定要先于其它的mount point被挂载
- 其它挂载点必须为已新建的目录
- 所有挂载点在同一时间内只能挂载一次
- 所有分区在同一时间内只能挂载一次
- 要卸载的话,必须先将工作目录移到挂载点(及其子目录之外)
Linux磁盘与文件系统管理概要的更多相关文章
- Linux磁盘与文件系统管理笔记
### Linux磁盘与文件系统管理 linux 最传统的文件系统格式是EXT2,centos7 默认文件系统是xfs(日志式文件系统) 磁盘的组成: 盘片 机械手臂 主轴马达 (机械硬盘) 磁盘格式 ...
- Linux学习笔记—Linux磁盘与文件系统管理(转载)
认识EXT2文件系统 文件的系统特性 Linux的正规文件系统为Ext2 文件数据除了文件实际内容外,还包括其他属性(文件权限.文件属性). 文件系统将这两部分数据分别存放在不同的块,权限和属性放在i ...
- Linux学习笔记之Linux磁盘及文件系统管理笔记
Linux磁盘及文件系统管理 CPU,memory(RAM),I/O i/o: disks,ehtercard disks:持久存储数据 接口类型: IDE(ata): 并口,133MB/s;并行总线 ...
- Linux磁盘及文件系统管理
在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...
- Linux入门-3 Linux磁盘及文件系统管理
1. 磁盘基本概念 1.1 磁盘结构:盘片(单碟vs多碟).磁头(读写数据) 1.2 磁盘在Linux中的表示 1.3 分区概念 2 使用fdisk进行磁盘管理 3 Linux文件系统 mke2fs ...
- Linux磁盘及文件系统管理1
RHCSA认证中的东西: Linux系统管理包括的内容有: 磁盘分区及文件系统管理 RAID LVM 网络属性管理 程序包管理 sed and awk 进程查看和管理 内核管理(编译和安装) 系统启动 ...
- 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)
本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令.当我们在系统中增加一个硬盘驱动器.什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤: (1)对磁盘进行分区,新建能够使用的分 ...
- 鸟哥的Linux私房菜 基础学习篇读书笔记(9):Linux磁盘与文件系统管理(2)
上一篇文章主要从理论上分析了Linux的Ext2文件系统.这一篇主要解说怎样查看Linux的文件系统的容量以及解说Linux文件系统中的连接文件. 能够通过df和du命令来查看磁盘与文件夹的容量.df ...
- Linux磁盘及文件系统管理4
文件系统的使用: 首先要“挂载”:mount命令和umount命令 根据文件系统之外的其它文件系统要想能够被访问,都必须通过“关联”到根文件系统上的某个目录来实现,此关联操作即为“挂载”:此目录即为“ ...
随机推荐
- java线程池原理解析
五一假期大雄看了一本<java并发编程艺术>,了解了线程池的基本工作流程,竟然发现线程池工作原理和互联网公司运作模式十分相似. 线程池处理流程 原理解析 互联网公司与线程池的关系 这里用一 ...
- 记jmeter接口测试动态获取验证码
在用jmeter做接口测试时,需要动态的获取验证码,以便在登录成功后可以获取token,但是在测试的过程中,遇到了一个问题,想在这里给大家分享一下: 环境描述 在获取验证码的http请求下加后 ...
- leetCode刷题 | 两数相加
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- 多线程高并发编程(8) -- Fork/Join源码分析
一.概念 Fork/Join就是将一个大任务分解(fork)成许多个独立的小任务,然后多线程并行去处理这些小任务,每个小任务处理完得到结果再进行合并(join)得到最终的结果. 流程:任务继承Recu ...
- 构建自己的专用OpenCV----记录一次由applyColorMap()引发的探索
在编写实际项目的过程中,我需要实现绿色主题的"伪彩色"变换.在目前提供的模板中,只有summer最为接近,但是它的颜色太浅了,看上去不是很清晰.所以我结合ocean和summer两 ...
- spring-boot如何去获取前端传递的参数
本文主要讨论spring-boot如何获取前端传过来的参数,这些参数主要有两大类,一类是URL里的参数,一个是请求body里的参数 url里的参数 通过url里传过来的参数一般有三种方式,下面我们来看 ...
- OpenCV开发笔记(五十五):红胖子8分钟带你深入了解Haar、LBP特征以及级联分类器识别过程(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- python --设置Python3 设置为机器默认
echo alias python=python3 >> ~/.bashrc source ~/.bashrc 反之,如果仍然需要Python2.7 ,则改成2.7就行. update : ...
- 接口(API)测试理念
什么是接口测试 接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性: 测试的重点是检查数据交互.传递.和控制管理过程以及系统间的相互 ...
- mysql5.6 thread pool
从percona 的压测来看,确实很牛笔啊.提升很大. http://www.mysqlperformanceblog.com/2014/01/29/percona-server-thread-poo ...