一、文件系统

操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化。没有文件系统的设备又称之为裸设备(raw),某些环境会需要裸设备,例如安装 Oracle 时会需要裸设备。

1. 常见的文件系统类型

常见的文件系统有 fat32、NTFS、ext2、ext3、ext4、xfs、HFS 等。其中,fat32 和 NTFS 是 Windows 中的文件系统,ext2、ext3、ext4、xfs、HFS 是 Linux 中的文件系统。NTFS 是当今 Windows 主流的文件系统,ext3、ext4 是 Linux 中主流的文件系统。

2. 不同文件系统之间的区别

  • 是否带有日志
  • 支持的分区大小
  • 支持的单个文件大小
  • 性能
  • ......

二、Linux支持的文件系统

常见的有 ext2、ext3、ext4、fat(msdos)、vfat、nfs、iso9660(光盘的文件系统)、proc(Linux 内存中的虚拟文件系统)、gfs(Linux 中的 global file system,全局文件系统)、jfs (带日志的文件系统)等等,不同的 Linux 发行版本,文件系统略有不同。

三、mke2fs命令

命令 mke2fs 用来创建文件系统:

mke2fs -t ext4 /dev/sda3     给第一块 SATA 硬盘的 3 号分区创建 ext4 文件系统

常用参数:

-b blocksize   指定文件系统块大小(文件系统每次读写数据时的最小单位)
-c 建立文件系统时检查块坏损(check,检查)
-L label 打标签(类似 Windows 的磁盘卷标)
-j 建立文件系统日志(journal,日志),ext3 和 ext4 默认带日志

四、mkfs命令

命令 mkfs 也可以用来创建文件系统,相较于 mke2fs 更加简单,但是支持的参数较少,不能进行精细化的控制。

它还有一些子命令:

mkfs.ext3 /dev/sda3
mkfs.ext4 /dev/sda3
mkfs.vfat /dev/sda3

五、dumpe2fs命令

命令 dumpe2fs 可以用来查看分区的文件系统信息:

dumpe2fs /dev/sda1

六、journal日志

带日志的文件系统(ext3、ext4)拥有较强的稳定性,主要体现在出错时可以恢复。

使用带日志的文件系统,文件系统会使用一个叫做“两阶段提交”的方式进行磁盘操作,当进行磁盘操作时,文件系统进行以下操作:

  1. 文件系统将准备执行的事务的具体内容写入日志
  2. 文件系统进行操作
  3. 操作成功后,将事务的具体内容从日志删除

这样做的好处是,当事务执行的时候如果出现意外(如断电或磁盘故障),可以通过查询日志进行恢复操作。缺点是会丧失一定的性能(额外的日志读写操作)。

七、e2label命令

命令 e2label 可以用来为文件系统打标签:

e2label /dev/sda2           显示 sda2 的标签
e2label /dev/sda2 MYLABEL 将 sda2 的标签设置为 MYLABEL

八、fsck命令

命令 fsck 用来检查并修复坏损的文件系统:

fsck /dev/sda2
  • 使用 -y 参数不提示而直接进行修复
  • 默认 fsck 会自动判断文件系统类型,如果文件系统损坏比较严重,请使用 -t 参数指定文件系统类型
  • 对于识别为文件的损坏数据(文件系统无记录),fsck 会将该文件放入 lost+found 目录
  • 系统启动时会对磁盘进行 fsck 操作

Linux 入门记录:八、Linux 文件系统的更多相关文章

  1. linux入门教程(八) Linux磁盘管理

    [查看磁盘或者目录的容量 df 和 du] df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k –m等 -i 使用inode ...

  2. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  3. Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密

    一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...

  4. Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)

    一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...

  5. Linux 入门记录:十六、Linux 多命令协作:管道及重定向

    一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...

  6. Linux入门基础(一):Linux基本操作

    命令行BASH基本操作 Shell 用户不能直接操作内核,所以用户操作通过shell传递给内核 shell分为两种 : GUI 图形界面 (linux一般是GNOME) CLI 命令行界面 (linu ...

  7. 零基础Linux入门之《Linux就该这么学》

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...

  8. lilybbs-faq - linux入门以及百合 Linux 版精华区导读

    QUESTIONS 问题与解答 不需要任何命令的简单介绍 历史 (APUE 提到了1990年之前的unix历史,还有各种标准 ANSI ISO IEEE posix xpg3.... 但是linux ...

  9. Linux 入门记录:九、Linux 文件系统挂载管理

    一.挂载操作 磁盘或分区创建好文件系统后,需要挂载到一个目录才能够使用. Windows 或 Mac 系统会进行自动挂载,一旦创建好文件系统后会自动挂载到系统上,Windows 上称之为 C 盘.D ...

随机推荐

  1. 【bzoj1038】瞭望塔 半平面交

    题目描述 致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安.我们将H村抽象为一维的轮廓.如下图所示 我们可以用一条山的上方轮廓折线(x1, y1), ( ...

  2. windows 架设SVN服务器

    想完整走一遍svn布置及使用流程,试完整理了一下: step 1:下载安装 1.安装SVN服务器,到http://subversion.apache.org/packages.html 上下载wind ...

  3. P4035 [JSOI2008]球形空间产生器

    题目描述 有一个球形空间产生器能够在 nn 维空间中产生一个坚硬的球体.现在,你被困在了这个 nn 维球体中,你只知道球面上 n+1n+1 个点的坐标,你需要以最快的速度确定这个 nn 维球体的球心坐 ...

  4. 【刷题】BZOJ 3998 [TJOI2015]弦论

    Description 对于一个给定长度为N的字符串,求它的第K小子串是什么. Input 第一行是一个仅由小写英文字母构成的字符串S 第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个. ...

  5. C++STL简介

    本文仅仅是个人学习的过程中结合网上博文,对STL的整理,也仅仅是简介.仅为个人学习笔记. 一.STL简介(摘自:晨光(Morning)) STL(Standard Template Library), ...

  6. BZOJ4245 [ONTAK2015]OR-XOR 【贪心】

    题目链接 BZOJ4245 题解 套路① 位运算当然要分位讨论,高位优先 考虑在\(or\)下,如果该位为\(0\),则每一位都为\(0\) 套路② 我们选m段异或和,转化为\(m\)个前缀和的点,且 ...

  7. HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包)

    HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包) 题意分析 裸完全背包 代码总览 #include <iostream> #include <cstdio& ...

  8. Bigbluebutton服务执行过程及相关配置文件

    BigBlueButton服务列表 BigBlueButton由许多开源的服务组成,看似很麻烦,实际上拆分开每一个服务就很简单了,组件化平台化.究竟BBB都用到了哪些开源服务?我们来列举一下,名称均带 ...

  9. Axis2 WebService(配置、发布、调用)

    准备工作 1.下载:axis2-1.5.4-bin.zip,axis2-1.5.4-war.zip 下载地址:http://axis.apache.org/axis2/java/core/ 2.环境变 ...

  10. [Luogu 2146] NOI2015 软件包管理器

    [Luogu 2146] NOI2015 软件包管理器 树剖好题. 通过对题目的分析发现,这些软件构成一棵树,\(0\) 是树根. 每下载一个软件,需要下载根到这个软件的路径上的所有软件: 每卸载一个 ...