系统基础-文件系统

Linux 文件系统

文件系统

Linux 使用了树形文件存储结构,在磁盘上存储文件的时候,使用的则是目录加文件的形式。但实际上,对于磁盘等各种存储设备来说,无论是什么数据,都只有0和1的概念。但是对用于而言,0和1毫无意义。这时候就需要一种类似于"翻译"的机制存在于用户和磁盘之间(我的理解就是将0和1转换成为我们看到的文件的形式)。

在Linux中采用的是文件系统+虚拟文件系统(virtual File System,VFS)的解决方案。

什么是文件系统

文件系统是操作系统用于明确磁盘或分区上相关文件的方法和数据结构。

我的理解是:

将逻辑上的属于写入物理的设备,然后以用户能够理解的方式展现于屏幕上的方法

在使用前,都需要针对磁盘做初始化操作,并将记录的数据结构写入磁盘,这种操作就是建立文件系统,在有些操作系统中称之为格式化。

Linux 支持多种不同的文件系统,但大多数Linux系统都具有类似的通用结构,包括如下结构:

  • 超级块(superblock)
  • i 节点(inode)-
  • 数据块(data block)
  • 目录块(directory block)
作用
超级块 包含文件系统的总体信息,是文件系统的核心,所以在磁盘中会有多个超级块,以防止由于磁盘出现坏块导致全部文件无法使用
i 节点 存储所有与文件有关的元数据,也就是文件所有者、权限等属性数据以及指向的数据块,但是不包括文件名和文件内容
数据块 是真实存放文件数据的部分,一个数据块默认情况下是 4KB
目录块 包括文件名和文件在目录中的位置,并包括文件的 i 节点数据

ext2 文件系统简介

在 Ext2 出现之前,Linux 采用的是 minix 。

但是它存在局限性,比如文件名最长仅支持14个字符,文件最大为64MB等。

Ext2 的原理:

采取的方法是将文件数据存放在数据块中,这些数据块的大小可以在创建文件系统的时候指定。对于存放的每个文件和莫露露,都会有一个 inode 指定,文件系统中所有的 inode 都是使用 inode 表来进行记录的。一定数量的块就会被组成一个块组。

在Ext2文件系统中,整个分区的文件系统信息被存放在超级块中,考虑到超级块的重要性,因此在每个块组的开头中都有相同的备份。

Ext2 的优缺点

优点:

Ext2 有着极好的存储性能,所以曾一度成为 Linux 中的标准文件系统。

缺点:

不支持日志功能,这很容易造成一些情况下丢失数据。

ext3文件系统简介

为了弥补ext2文件系统的不足,有日志功能的ext3文件系统应运而生了。它直接从ext2文件系统发展而来,所以完全兼容ext2文件系统,而且支持从ext2非常简单地(只需要两条命令)转换为ext3,这种特性让更多的老用户转为使用 ext3 文件系统。

为什么需要日志文件系统。

因为在写入数据之前,会先写入日志。在出现问题的时候,可以追溯原因。而Ext2修复文件系统时,需要遍历整个文件系统。因此相比后者,前者节省了大量的时间。且对系统做了优化,在性能上不会比 ext2 低。

磁盘分区、创建文件系统、挂载

磁盘使用前需要对其进行分割,这种行为被称为“分区”。

磁盘的分区分为两类,即主分区和扩展分区。

受限于磁盘分区表的大小(MBR大小为512字节,其中分区表占64字节),由于每个分区信息使用16字节,所以一块磁盘最多只能创建4个主分区,为了能够支持更多分区,可以使用扩展分区(在扩展分区中可以划分更多逻辑分区),但是即使如此,分区还是要受主分区+扩展分区最多不能超过4个的限制。

在完成磁盘分区后,需要进行创建文件系统的操作,最后将该分区挂载到系统中的某个挂载点才可以使用。

创建文件系统

fdisk -l            // 查看磁盘
image
fdisk /dev/sdb      // 分区
image
mkfs -t ext3 /dev/sdb1  // 格式化,创建文件系统
image
image

磁盘挂载

mkdir newDisk               // 新建一个目录
mount DEVICE MOUNT_POINT    // 挂载设备,挂载点为一个目录
mount                       // 默认为显示所有挂载
image

设置启动自动挂载

之前的挂载只是暂时的,需要配置 /etc/fstab 使得系统在重启后自动挂载

image

这样,以后系统重启时,设备就会自动挂载了。

磁盘检验

umount /dev/sdb1            // 取消挂载

或者

umount /root/newDisk

当磁盘出现逻辑错误的时候,可以使用 fsck 命令来修复

fsck -t ext3 /dev/sdb1

如果系统的根文件出现问题需要修复,则需要重启计算机,当系统在重启时检测到根文件出现问题,会提示用户输入root密码进入单用户模式,这样就可以使用 fsck 来修复根目录了。

与 fsck 不同,badblocks 主要是用来检测磁盘的物理坏道的,使用这个命令其实更多的只是确认磁盘是否有坏道,所以平时使用的较少,往往只是在怀疑磁盘有坏道的时候才会使用。

badblocks -v /dev/sdb1

Linux 逻辑卷

当磁盘不够用的时候,需要使用逻辑卷来补充磁盘容积。

什么是逻辑卷

含义
物理卷 物理磁盘分区,例如 /dev/sdb1
卷组 物理卷的集合
逻辑卷 从物理卷中划分出来的一块逻辑磁盘

创建逻辑卷

TODO 这里将要写入如何创建逻辑卷

硬链接和软链接

TODO 这里将要写入关于硬链接和软链接
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 转载自:http://blog.csdn.net/hguisu/article/details/6122513原作...
    miaoiao阅读 1,507评论 0 7
  • Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本...
    偷风筝的人_阅读 3,241评论 1 17
  • Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。 内核、shell和文件系统一起形成了基本...
    请爱护小动物阅读 2,545评论 0 22
  • 人要做到什么地步才算要完好,我并不知道。 只是总觉得自己做得不够好,甚至还很差。 想法设法地去补救,渴望拯救困顿迷...
    谦谦君子vampire阅读 290评论 0 0
  • —— Kurny 我在黑暗中, 朝着你走去, 你是虞美人吗? 哦,不! 他们说,你是太阳花。 黑夜...
    Kurny91阅读 428评论 10 7