文件系统

  • 定义
  • 作用
    • 文件的查找
    • 文件的删除
  • 术语
    • 目录项
    • inode
    • block
  • 硬盘
    • 机械硬盘
      • 机械硬盘好衡量标准:
      • 机械硬盘的几个概念
    • 固态硬盘
    • 混合硬盘
  • 文件系统的基本类型
    • linux中的文件系统
    • windows中的文件系统
      • ①ntfs
      • ②fat32
      • ③exFAT
  • 磁盘分区
    • 分区的类型
    • 分区表
    • 分区方案
    • 新加磁盘的步骤
    • 修复文件系统

定义

文件系统是由C语言编程实现的。
文件系统是文件在磁盘里的读取,存放进行管理的一个系统,是linux内核中的一个子系统。通俗来说,文件系统就是在一个固定的空间里面建立一个系统去管理该空间里面的文件。

作用

文件系统是一个管理者的角色,用来管理文件这个资源。其作用如下:
1.读取数据到内存
2.将数据保存到磁盘
3.数据的查找,文件的命名,文件的删除等操作

文件的查找

对用户来说,文件名是唯一表示一个文件的关键字,而对计算机来说,文件对应的inode号是唯一表示一个文件的关键字,所以在查找文件的时候,由用户在终端输入要查找文件的文件名,计算机根据目录项获取文件名对应的inode号,然后去访问inode号里面的内容,获取inode号里面存放数据的block指针,从而去访问该文件对应block指针指向的block块里面的内容。并将内容返回给终端。

文件的删除

删除文件的过程就是删除该文件的目录项,即将文件名与其对应的inode号删除,并将inodebitmap映射表inode对应的分区标记为0,将inode分区中对应的block分区在blockbitmap中标记为0,因此内容还会存放在磁盘中
1.只要该block分区没有被使用,则源文件的内容其实还保留在该block分区中,可用恢复软件去恢复。

2.删除小文件的速度会快一点,因为删除文件就是删除该文件对应的目录项和将inode、block映射表的对应位置标记为0,但是大文件对应的block块较多,因此标识的时间会长一点

术语

目录项

dentry:directory entry,目录项是由文件名和inode号组成
第一列的数字就是inode号

inode

index node(索引结点)
存放文件的属性信息和指向文件数据的指针。inode区域中会划分很多个inode结点空间、每个空间的大小是128字节。一个文件对应一个inode结点空间。
inode结点的个数是有限的,一旦inode分配完之后,则不能再继续新建文件,因为没有inode分配给新建的文件

block

存放文件的真实数据,block也划分为很多的空间,一个空间的大小是4096个字节,block的个数是inode个数的4倍
超级块:存放该文件系统的详细信息,在每个分区中都存有备份。

查看xfs类型的文件系统的超级块信息
[root@swarm-2 /]# xfs_info /dev/sdc1
查看ext类型的文件系统的超级块信息
[root@swarm-2 /]# dumpe2fs /dev/sdc1

blockbitmap:block映射表,记录block的使用情况,用0/1去做记录,0代表该block块没有被使用,1代表该block块被使用

inodebitmap:inode映射表,记录inode的使用情况,用0/1去做标记,和blockbitmap一样。

硬盘

当前硬盘在市场上基本分为3种,分别为机械硬盘(HDD传统硬盘)、固态硬盘(SSD盘),混合硬盘、(HHD一种基于传统机械硬盘与固态硬盘叠加诞生出来的新硬盘)。

机械硬盘

机械硬盘(Hard Disk Drive)即传统的普通硬盘,主要由盘片、盘片转轴、磁头组件、磁头驱动机构、控制电路组成。因为靠盘片做机械运动来提供数据的读写,所以速度较固态硬盘有很大的差别,机械硬盘最高是520M/s。

机械硬盘好衡量标准:

1.容量
2.接口速度/传输速率
3.缓存大小
4.转速,以分钟为单位
5.平均寻道时间,越短性能越好

机械硬盘的几个概念

1.磁道,track
2.扇区,sectors,一个磁道划分为63个扇区,一个扇区是512个字节。扇区是磁盘中最小的物理存储单位
3.柱面,是多块磁到堆叠的区域形成的柱面,是竖直方向而言

其中有一个特殊的位置:0柱面、0磁头、1扇区的位置是主引导扇区

MBR:master boot record,主引导记录/主引导扇区,不属于任何分区,是一个独立的位置,占512个字节

当MBR被破坏之后,若系统是放在该磁盘中,则系统启动不了,因为没有启动代码了,磁盘中的数据也找不到,因为分区表被破坏了

MBR中的内容如下:

固态硬盘

固态硬盘(Solid State Disk)类似于U盘技术,全电子结构,没有机械运动部件,采用集成电路存储技术,由控制单元和存储单元组成。靠电子芯片存放数据,常规固态盘的速度是机械盘的5-10倍

IOPS(Input/Output Operations Per Second)是一个用于计算机存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数。
可以用来衡量数据库、磁盘的性能好坏。

混合硬盘

混合硬盘(Hybrid Hard Disk)即包含机械硬盘与固态硬盘相结合的产物,主要应用于个人电脑,其优势是比机械硬盘速度快、功耗低。

硬盘的常用接口:
接口一般都是放在主板上面,实际上的数据都是通过主板进行传输的,因此主板的质量越高,数据传输效率越好。
1.IDE:逐渐淘汰
2.SATA:硬盘的接口
3.光纤接口:速度快。

文件系统的基本类型

linux中的文件系统

xfs:是linux中默认的文件系统。centos7/8

tmpfs

ext:扩展文件系统
其中ext3是日志文件系统,是centos4/5系统的默认文件系统
ext4是centos6系统的默认文件系统

tfs:taobao file system。
是淘宝的文件系统,针对淘宝自己的业务特点,方便存放图片

gfs:google file system。
是谷歌的文件系统

nfs:网络文件系统

hdfs:hadoop file system,是某些大数据软件的文件系统,方便对数据的管理

windows中的文件系统

①ntfs

new technology file system:新技术文件系统,是微软公司的专利技术.

是目前Windows系统中一种现代文件系统,目前使用最广泛,内置的硬盘大多数都是NTFS格式。

❶ 优点:ntfs格式最大的优点是可以支持4G以上至2T的文件进行传输,在传输速度上它也有着较为明显的优势。

❷ 缺点:ntfs的缺点主要表现在,经常使用格式化、初始化u盘后会使得u盘读取缓慢的现象。所以u盘不建议使用ntfs

②fat32

File Allocation Table:文件分配表,无法支持超过4GB的单个文件,且文件名称长度也不能超过255字符

是一种相对老旧的文件系统,不能像NTFS格式支持很多现代文件格式的属性,但对于不同系统平台具有良好的兼容性,可以在Linux、Mac或Android系统平台上通用。

❶ 优点:在一个不超过8GB 的分区中,FAT32分区格式的每个簇容量都固定为4KB,与FAT16相比,可以大大地减少磁盘的浪费,提高磁盘利用率。

❷ 缺点:当文件删除后写入新资料,FAT不会将档案整理成完整片段再写入,长期使用后会使档案资料变得逐渐分散,而减慢了读写速度。硬盘碎片整理是一种解决方法,但必须经常整理来保持FAT文件系统的效率。还有就是FAT32分区因为设计缺陷,无法支持超过4GB的单个文件

③exFAT

exFAT也可以叫做FAT6,是FAT32文件格式的替代品,很多设备和操作系统都支持该文件系统,但是目前用的不多。

它解决了FAT32不支持4G以上大容量文件的问题,直接最大支持16EB(目前256GB),而Windows与Mac均可适用,还有十分强的跨平台能力。是微软专为闪存(U盘、存储卡)闪存设备设计的文件系统,兼容性非常好。建议U盘等移动设备首选。

❶ 优点:增强台式电脑与移动设备的相互操作能力;单文件大小最大可达16EB (1EB=1024PB ,1PB=1024TB ,1TB=1024MB,16EB=16777216TB=17,179,869,184MB);簇大小可高达32MB,同一目录下最大文件数可达65 536个;支持访问控制。

❷ 缺点:exfat兼容性相对较差,在xp系统中经常无法识别,在win7和win8系统中问题就不大。

磁盘分区

disk partition:磁盘分区
磁盘分区就是在一整块磁盘里,划分出来一块区域作为一个文件系统。因此本质上来说一个磁盘分区就是一个文件系统。

分区的类型

1.主分区:可以安装操作系统的分区
2.扩展分区:可以多划分分区,突破4个分区的限制,最多只能1个,只是一个概念,不能用来存放数据,不能格式化
3.逻辑分区:从扩展分区里面划分出来的分区,可以用来存放数据。可以划分多个逻辑分区,逻辑分区只能使用扩展分区的容量

分区表

每个磁盘里面都有一个分区表,分区表存放在MBR扇区中,分区表是用来统计该磁盘的分区信息

分区表的类型:

1.dos:最多只有4个主分区
2.gpt:可以有很多个主分区

linux中的设备都存放在/dev下面
hd:表示IDE类型的磁盘
sd表示scsi类型的磁盘

分区的编号:
1-4:表示主分区 和扩展分区使用
5及之后的编号是给逻辑分区使用

分区方案

boot、swap、/分区是必不可少的分区方案。

方案一:
1./boot:是一个引导分区,相当于C盘 一般500M容量,放在sda1

2swap:4096M,是物理内存的2倍,放在sda2,当物理内存不足时,充当真实内存使用。swapon:打开交换分区 swapoff:关闭交换分区,安装k8s时要关闭分区,mkswap可以创建交换分区。交换分区只能临时的缓解内存压力,其本质就是将该分区格式化为swap类型

3./home:20G,sda3

4./:其余的容量,sda5

方案二:
1./boot: 500M,sda1
2.swap:4096M,sda2,当物理内存不足时,充当真实内存使用。swapon:打开交换分区 swapoff:关闭交换分区,安装k8s时要关闭。
3./:其余的容量,sda5

新加磁盘的步骤

第一步:物理连接,在虚拟机中新增几块磁盘

第二步:分区 fdisk只能对小于2T的磁盘分区,parted可以超过2T
fdisk分区一定要保存并退出才会生效,否则磁盘不会更改的,parted直接生效

一次分区的详细操作如下:

其命令如下:

查看分区情况:

第三步:格式化某个分区
磁盘格式化的时候会产生inode分区、block分区
且磁盘格式化的时候会产生一个日志,并且预留一部分的空间供超级用户使用

第四步:挂载
mount -a:会根据/etc/fstab文件中的挂载内容,将没有挂载的分区挂载上。
mount:可以查看挂载的所有分区和信息
挂载点一般建立在根目录下,所有的用户都可以访问,这是临时挂载。

卸载可以接挂载点,也可以接文件
当挂载点在使用的时候,是不能卸载的

退出之后即可卸载:

开机自动挂载:

1.将命令放在/erc/rc.local下可让其开机自动挂载分区,一定要赋予该文件可执行权限
chmod +x /erc/rc.d/rc.local

2.修改/etc/fstab:
新增一行
/dev/sdb1 /cali xfs default 0 0

其中:
/dev/sdb1:挂载的设备
/cali:挂载点
default:挂载后的分区选项,设置为默认(ro,rw等)
xfs:文件系统的类型
第一个0:表示不做dump命令
第二个0:表示是否开机是否使用fsck检测该文件系统 ,0表示不检测,1表示检测,2表示1级别检测完之后再进行检测

修复文件系统

fsck /dev/sdd2 :只能修复ext类型的分区
xfs_repair /dev/sdd:只能修复xfs类型的分区

linux-文件系统相关推荐

  1. Linux 文件系统剖析

    Linux 文件系统剖析 按照分层结构讨论 Linux 文件系统 M. Tim Jones, 顾问工程师, Emulex Corp. 简介: 在文件系统方面,Linux® 可以算得上操作系统中的 &q ...

  2. linux文件系统dentry_NFS 文件系统源代码剖析

    NFS 文件系统概述 NFS(Network File System,网络文件系统)是一种基于网络的文件系统.它可以将远端服务器文件系统的目录挂载到本地文件系统的目录上,允许用户或者应用程序像访问本地 ...

  3. Linux文件系统构成(第二版)

    Linux文件系统构成 /boot目录: 内核文件.系统自举程序文件保存位置,存放了系统当前的内核[一般128M即可] 如:引导文件grub的配置文件等 /etc目录: 系统常用的配置文件,所以备份系 ...

  4. linux检查文件一致性,3.20 fsck(检查并修复Linux 文件系统)

    3.20 fsck(检查并修复Linux 文件系统) (1)频度等级:☆☆ (2)功能说明: 检查文件系统的一致性并且以交互方式修复文件系统.在出现系统故障之后,总是运行fsck 命令.矫正的动作也许 ...

  5. 文件系统:Linux文件系统剖析

    查看原文:http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/ 在文件系统方面,Linux® 可以算得上操作系统中的 " ...

  6. linux对文件的描述,对Linux文件系统的简单理解

    姓名:邝念君 学号:14020150024 [嵌牛导读]:EXT3,EXT4,BTRFS和XFS是现在最常见的四个Linux文件系统.为了便于理解,本文以相对简单的EXT2为切入点,介绍其原理.便不难 ...

  7. linux扩文件系统大小,调整卷大小后扩展 Linux 文件系统 - Amazon Elastic Compute Cloud...

    AWS 文档中描述的 AWS 服务或功能可能因区域而异.要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门. 调整卷大小后扩展 Linux 文件系统 在增加 EBS 卷的大小后,您必须使用特定 ...

  8. 低调的 Linux 文件系统家族

    在 Linux 中,最直观.最可见的部分就是 文件系统(file system).下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及文件系统实现背后的原理和思想. 这些思想中有一些 ...

  9. 《Linux嵌入式实时应用开发实战(原书第3版)》——3.5 Linux文件系统

    本节书摘来自华章计算机<Linux嵌入式实时应用开发实战(原书第3版)>一书中的第3章,第3.5节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区"华章计算机& ...

  10. 开发板与linux文件系统,基于topeer 4412开发板 ***面linux文件系统的制作

    Exynos-4412不仅可以运行Android,还可以运行简单的linux最小文件系统(不带显示界面的linux系统),下面我们来讲解一下这种文件系统的制作. 制作文件系统我们需要使用到Busybo ...

最新文章

  1. 如何快速将下载好的大量源代码文件加入到VS项目中
  2. Linux mount挂载和umont卸载U盘
  3. 长方体工艺品の切割(洛谷P5729题题解,Java语言描述)
  4. Delphi 完整的Bug决议工具EurekaLog的使用
  5. 2020 ECCV 目标检测冠军
  6. 使用migration创建表时,出错的解决方法
  7. 装饰者模式(C#)实现
  8. win32使用拖放文件
  9. 计算机操作系统详细学习笔记(五):文件管理
  10. 华为路由器hilink怎么用_荣耀路由HiLink怎么实现一键组网?
  11. vs2019下载安装
  12. maxmemory-policy
  13. 台式计算机调整显示亮度,台式电脑显示器屏幕亮度怎么调节?
  14. 几种常见的光纤接头(ST,SC,LC,FC)
  15. SQLServer的top 100 percent用法
  16. Spring boot + maven + jetty9在提交表单的时候出现Form too large
  17. ubuntu下新建用户
  18. oracle 11g open_cursors 修改,修改open_cursors和session_cached_cursors的参数值
  19. linux ar -x64,Linux ar 命令 command not found ar 命令详解 ar 命令未找到 ar 命令安装 - CommandNotFound ⚡️ 坑否...
  20. Kali系统安装搜狗输入法

热门文章

  1. Nachos系统调用的实现
  2. android:很抱歉,XXX已停止运行
  3. 基于51单片机八路抢答器课程设计(含proteus仿真图及代码)
  4. 神经平面分布图怎么看,面部神经网络 分布图
  5. 27.WLAN组网介绍_VLAN在WLAN业务中的应用
  6. 打印机的ip地址怎么改?
  7. 用html5实现一个播放器,6 个基于 HTML5 实现的多媒体播放器
  8. Windows常见的几种提权方法
  9. 特殊矩阵——n阶对称矩阵
  10. Android音频子系统(十三)------audio音频测试工具