一、 Linux文件系统的基本概念

文件系统(File System)是磁盘上有特定格式的一片区域,操作系统利用文件系统保存和管理文件。
不同的操作系统需要使用不同的文件系统,为了与其他操作系统兼容,通常操作系统都支持很多种类型的文件系统。

Linux文件系统

Linux系统使用ext2/ext3文件系统。
在Linux系统中,存储数据的各种设备都属于块设备,对于磁盘设备,通常在0磁道第一个扇区上存放引导信息,称为主引导记录(MBR),该扇区不属于任何一个分区,每个分区包含许多数据块,可以认为是一系列块组的集合。
在磁盘分区上建立ext2/ext3文件系统后,每个块组的结构如图所示

ext文件系统结构的核心组成部分是超级块,索引节点表和数据块。
超级块和块组描述符中包含关于该块组的整体信息,例如索引节点的总数和使用情况、数据块的总数和使用情况以及文件系统状态等。
每一个索引节点都有一个唯一编号,并且对应一个文件,它包含了针对某个具体文件的几乎全部信息,例如文件的存取权限、拥有者、建立时间以及对应的数据块地址等,但不包含文件名称。
在目录文件中包含文件名称以及此文件的索引节点号。索引节点指向特定的数据块,数据块是真正存储文件内容的地方。

二 、文件系统的类型

Ext

ext是第一个专门为Linux的文件系统类型,叫做扩展文件系统。
它在1992年4月完成的。
它为Linux的发展取得了重要作用。
但是在性能和兼容性上存在许多缺陷。现在已经很少使用了。

Ext2

ext2是为解决ext文件系统的缺陷而设计的可扩展的高性能的文件系统。又被称为二级扩展文件系统。
它是在1993年发布的,设计者是Rey Card。
ext2是Linux文件系统类型中使用最多的格式。并且在速度和CPU利用率上较突出,是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
Ext2 可以支持256字节的长文件名,其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的Intel x86兼容处理器的系统中,簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 6384GB。尽管Linux可以支持种类繁多的文件系统,但是2000年以前几乎所有的Linux发行版都用ext2作为默认的文件系统。
ext2的缺点:ext2的设计者主要考虑的是文件系统性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data (和文件有关的信息,例如:权限、所有者以及创建和访问时间)。另外但由于目前核心 2.4 所能使用的单一分割区最大只有 2048GB,尽管文件系统的容量上限为 6384G但是实际上能使用的文件系统容量最多也只有 2048GB。

Ext3

ext3是由开放资源社区开发的日志文件系统,主要开发人员是Stephen tweedie。
ext3被设计成是ext2的升级版本,尽可能地方便用户从ext2fs向ext3fs迁移。ext3在ext2的基础上加入了记录元数 据的日志功能,努力保持向前和向后的兼容性。
ext3是一种日志式文件系统。日志式文件系统的优越性在于:由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸 下,以便将快取层的资料写回磁盘中。因此每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。
ext3的缺点:其最大的缺点是没有现代文件系统所具有的能提高文件数据处理速度和解压的高性能,另外使用ext3文件系统时要注意硬盘限额问题,在这个问题解决之前,不推荐在重要的企业应用上采用ext3+disk quota(磁盘配额)。

Jsf

jsf提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。
jsf(Journaled File System Technology for Linux)的开发者包括AIX(IBM的Unix)的jsf的主要开发者。
2000 年2月,ibm宣布在一个开放资源许可证下,移植linux版的JSF文件系统。JSFs也是一个有大量用户安装使用的企业级文件系统。它具有可伸缩性和 健壮性,与非日志文件系统相比,它的优点是其快速重启能力:Jfs 能够在几秒或几分钟内就把文件系统恢复到一致状态。
虽然 jsf 主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,jsf 还可用于想得到高性能和可靠性的客户机配置因为在系统崩溃时,jsf 能提供快速文件系统重启时间,所以它是因特网文件服务器的关键技术。
jsf的缺点:使用jsf日志文件系统,性能上会有一定损失,系统资源占用的比率也偏高。是因为当它保持一个日志时,系统需要写许多数据。

ReiserFS

xfs是一种非常优秀的日志文件系统,它是SGI公司设计的。
xfs被称为业界最先进的、最具可升级性的文件系统技术。它是一个全64位,快速、稳固的日 志文件系统,多年用于SGI的IRIX操作系统。
sgi决定支持Linux社区,将关键的基本架构技术授权于Linux。它以开放资源形式发布了他们自己 拥有的xfs的源代码,并开始进行移植。
SGI的xfs可为 linux和开放资源社区带来的新特性有:可升级性:xfs被设计成可升级,以面对大多数的存储容量和i/o存储需求,可处理大型文件和包含巨大数量文件 的大型目录,满足二十一世纪快速增长的磁盘需求。
xfs有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用 1exabyte (1g×1gb) 大的文件,远远大于现在最大的文件系统。
优秀的i/o 性能:典型的现代服务器使用大型的条带式磁盘阵列,以提供达数gb/秒的总带宽。xfs可以很好地满足I/O请求的大小和并发I/O请求的数量。 xfs 可作为root文件系统,并被lilo支持。

swap文件系统

swap文件系统是Linux的交换分区所采用的文件系统。在Linux中使用交换分区管理内存的虚拟交换空间。一般交换分区的大小设置为系统物理内存的2倍。在安装Linux操作系统时,必须建立交换分区,并且其文件系统类型必须为swap。交换分区由操作系统自行管理。

vfat文件系统

vfat文件系统是Linux下对DOS、Windows操作系统下的FAT16和FAT32文件系统的统称。Red Hat Linux支持FAT16和FAT32格式的分区,也可以创建和管理FAT分区。

NFS文件系统

NFS即网络文件系统,用于UNIX系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本地目录下,可以象访问本地文件系统中的内容一样访问NFS文件系统中的内容。

ISO 9660文件系统

ISO 9660是光盘所使用的标准文件系统,Linux系统对该文件系统有很好的支持,不仅能读取光盘中的内容而且还可以支持光盘刻录功能。

三 、对磁盘分区指定文件系统类型

硬盘分区后,下一步的工作就是文件系统的建立。类似于Windows下的格式化硬盘。
在硬盘分区上建立文件系统会冲掉分区上的数据,而且不可恢复,因此在建立文件系统之前要确认分区上的数据不再使用。建立文件系统的命令是mkfs,格式如下:
mkfs [参数] 文件系统
mkfs命令常用的参数选项
-t :指定要创建的文件系统类型
-c:建立文件系统前首先检查坏块
-l file:从文件file中读磁盘坏块列表,file文件一般是由磁盘坏块检查程序产生的
-V:输出建立文件系统详细信息。

指定文件系统类型

在/dev/sdb1上建立ext3类型的文件系统,建立时检查磁盘坏块并显示详细信息。

在软盘上建立文件系统

对软盘格式化
使用badblocks命令检查软盘上的坏块,把坏块信息存储在文件badblock-fd0中。
用mkfs命令建立文件系统。

查看文件系统类型

fsck命令主要用于检查文件系统的正确性。并对Linux磁盘进行修复。fsck命令的格式如下:
fsck [参数选项] 文件系统
fsck命令常用的参数选项:
-t:给定文件系统类型,若在/etc/fstab中已有定义或kernel本身已支持的不需添加此项。
-s:一个一个地执行fsck命令进行检查。
-A:对/etc/fstab中所有列出来的分区进行检查。
-C:显示完整的检查进度。
-d:列出fsck的debug结果。
-P:在同时有-A选项时,多个fsck的检查一起执行。
-a:如果检查中发现错误,则自动修复。
-r:如果检查有错误,询问是否修复。
例如,检查分区/dev/sdb1上是否有错误,如果有错误自动修复。

【Linux】文件系统的概念和类型相关推荐

  1. Linux 文件系统怎么转换为8e类型

    fdisk /dev/sdx #x是你的磁盘编号,a,b等等 进入后输入t,然后选择分区(输入数字),然后输入8e,然后输入w保存退出.

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

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

  3. 文件名为空linux,文件系统:隐匿在Linux背后的机制

    原标题:文件系统:隐匿在Linux背后的机制 在 Linux 中,最直观.最可见的部分就是 文件系统(file system) .下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及 ...

  4. Linux 文件系统

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1 Linux 文件系统基本概念 2 Linux 文件系统调用 3 Linux 文件系统的实现 3.1 Linux 虚拟文件 ...

  5. linux文件系统概念目录结构

    文件系统概念 一. 文件与目录的定义 1. 文件系统:它是磁盘上有特定格式的一片区域,操作系统通过文件系统可以方便地查寻和访问其中所包含的磁盘块: 2. 文件:文件系统中存储数据的一个命名的对象. 3 ...

  6. Linux 文件系统类型 文件系统结构 与Windows文件系统的比较

    Linux 文件系统类型 磁盘文件系统. 包括硬盘.CD-ROM.DVD.USB存储器.磁盘阵列等.常见文件系统格式有:autofs.coda.Ext(Extended File sytem,扩展文件 ...

  7. Linux文件系统(一)文件系统基本概念

    文件系统基本概念 1.文件系统概述 2.文件系统的类型 (1)ext系列 (2)Reiserfs 3. Ubuntu文件系统的结构 (1)概述 (2)路径 (3)主要文件夹及其作用 /bin/ /sb ...

  8. 嵌入式 Linux 入门(二、Linux 文件系统、文件类型及权限管理)

    嵌入式 Linux入 门第二课, linux 文件系统.文件类型及权限管理. ...... 矜辰所致 目录 前言 一.Linux 文件属性 1.1 Linux 文件类型 1.2 Linux 文件权限及 ...

  9. 解释Linux文件系统:Boot Loading, 磁盘分区,BIOS,UEFI和文件系统类型

    Boot loading,磁盘分区,分区表,BIOS,UEFI,文件系统类型等概念对我们来说所知甚少.我们经常遇到这些术语,但很少花费力气详细地了解这些术语和它们的含义.本文努力用最简单的方式填补这一 ...

最新文章

  1. jenkins持续集成(一): 在Linux下的安装与配置
  2. 专访William Kennedy:如何学习Go语言
  3. Ardino基础教程 19_舵机控制
  4. 深度学习预训练模型可解释性概览
  5. ImportError: No module named setuptools 解决方法
  6. 使用anconada 的conda更换环境
  7. HTML中id、name、class 区别
  8. 飞鸽传书2007绿色版
  9. Eclipse中【Maven下载时,下载源码】设定方法
  10. 问题:lapack.so
  11. Xcode 模拟器复制解决方案
  12. 打印机服务器没有响应 请检查设置,打印机服务无法启动的解决办法
  13. Android实现友盟分享小程序
  14. android 华为摄像头权限_Android踩坑日记(一):android7.0动态相机权限
  15. 双显卡只用独显好吗_win10怎么一直使用独立显卡_win10双显卡如何设置只使用独立显卡...
  16. 马来西亚数字自由贸易区的发展实践
  17. Vue实战篇三十五:实现滑动拼图验证登录
  18. 一个男人,给他女朋友的男朋友的一封信
  19. CryptoJS 下载地址
  20. Unity3d 传送门效果制作

热门文章

  1. 用egret制作一款跑酷类游戏(一)
  2. 数据分析毕业设计 二手房数据爬取与分析可视化系统 -python
  3. 计算机一级英文缩写,下列英文缩写和中文名字的对照中,错误的是
  4. 【BIM+GIS】Supermap打开BIM Revit模型的方式
  5. 三大名医教学《面诊·手诊·舌诊》
  6. 人群标签、手淘流量之间的关系,如何提高手淘流量?
  7. 金牌厨师Pandas:听说Excel处理数据分行快得很?
  8. 把Word的内容复制到Excel后自动分成多列
  9. 东芝rc100装linux,东芝RC100的小伙伴们,快来检查下你的固件版本
  10. SAP HANA中调试存储过程