Linux文件系统精通指南
时间:2023-05-26 05:10:29 点击:307

  究竟什么是“文件系统“?Sheryl Calish 介绍了这个概念以及它的实际应用

  尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。

  遗憾的是,新手通常会混淆介绍 Linux 文件系统概念的术语。术语文件系统 可以在 Linux 文件编制中互换使用,用于指代几个不同但相关的概念。除磁盘分区的具体实例外,文件系统还指代数据结构以及分区中文件的管理方法。

  另新手更感困惑的是,该术语还用于指代系统中文件的整体组织形式:目录树。此外,该术语还可以指代目录树中的每个子目录,如在 /home 文件系统中。某些人认为,这些目录和子目录不能称作真正意义上的文件系统,除非它们均驻留在各自的磁盘分区上。然而,其他人却将其称作文件系统,这无疑又增添了困惑。

  Linux 老手可以从上下文中理解这些术语的含义。而新手却很难在一时半会儿就辨别出这样的上下文。

  本文的主要目标就是提供足够的背景知识,以帮助您辨别此术语的上下文。在阐明文件系统术语的细微差别的过程中,您还将学习如何将某些非常有用的相关工具从理论应用上升到实际应用。

  本文主要介绍了 2.4 版 Linux 内核中的 Linux 磁盘分区和文件管理系统特性。此外,还介绍了 2.6 版 Linux 内核中的新特性。

  磁盘分区概述

  Linux 和 UNIX 中的基本文件存储单元都是磁盘分区,即将一个或多个硬盘的逻辑划分,操作系统将每个逻辑分区视为独立的磁盘。文件和文件管理系统“居住“在磁盘分区中。Linux 将这些磁盘分区作为设备处理,进而通过 /dev 目录中的特殊文件使用文件 I/O 机制。

  有两种类型的设备文件:块和字符/原始。两者之间的一个重要差别是,块设备被缓冲,而字符设备因为没有文件管理系统,所以不被缓冲。在 oracle 集群文件系统 (OCFS) 推出之前,使用原始设备是提高 Oracle 数据文件分区性能的常见方法。(在本文的后续部分,我们将详细介绍原始设备。)

  存储在磁盘最开始位置的分区表提供了该磁盘上分区的映射。可以使用 fdisk 命令查看系统的分区表。

  # fdisk -l

  Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders

  Units = cylinders of 15120 * 512 bytes

  Device Boot Start End Blocks Id System

  /dev/hda 1 286 2162128+ c Win95 FAT32 (LBA)

  /dev/hda2 * 288 1940 12496680 5 Extended

  /dev/hda5 288 289 15088+ 83 Linux

  /dev/hda6 290 844 4195768+ 83 Linux

  /dev/hda7 845 983 1050808+ 82 Linux swap

  /dev/hda8 984 1816 6297448+ 83 Linux

  /dev/hda9 1817 1940 937408+ 83 Linux

  分区表中的名称 /dev/hda 至 /dev/hdd 分别代表 IDE 驱动器 1 至 4,其中 hda 代表驱动器 1,hdb 代表驱动器 2,依此类推。驱动器内的分区用数字指代,因此 /dev/hda5 是第一个 IDE 驱动器上的第五个分区。对于 SCSI 驱动器,使用了类似的命名模式:/dev/sda to /dev/sdd。

  第一至第四个分区保留给主分区,第五个及随后的分区用于逻辑分区。因此,以上所示的分区表中有一个驱动器 hda,它包含一个主分区 hda1、一个扩展分区 hda2 和五个逻辑分区 /dev/hda5 至 /dev/hda9。以名称 shmfs 列出的文件系统表示根据 Linux 2.4 中的 POSIX 标准挂载为特殊文件系统的共内存文件系统。

  您可能已经注意到,在 fdisk 列表中 LBA 是括在括号中的。LBA 表示逻辑块寻址,它将硬盘的柱面、块和扇区模式转换为线性块编号进行处理。

  在 Linux 中,分区分为主分区、扩展分区和逻辑分区。术语主分区 是先前 x86 系统上四个分区限制的遗留产物。与 DOS 和 Windows 不同,Linux 可以从主分区或逻辑分区启动。用作逻辑分区占位符的主分区称作扩展分区。扩展分区本身拥有指向一个或多个逻辑分区(它们只是主分区的子分区)的分区表。在以上的 fdisk 列表中,hda2 就是一个扩展分区。

  文件管理系统概述

  要使分区后的磁盘可用,必须在其上构建文件系统。这种情况下,通常还将文件系统称作“分区类型“、“基于磁盘的文件系统“和“文件系统类型“。实际上,可以将这些文件系统看作是文件管理系统,这是因为该称呼正体现了它们的功能:它们通过维护文件上的元数据,使系统上的文件保持状态一致。

  Linux 项目的特点之一是需要实现与每个可用实用程序的多个样式和首选设置的兼容性,而这种兼容性在可用文件管理系统的选择上体现得最为明显。Linux 内核内部的虚拟文件系统 (VFS) 实现了此选择。VFS 采用了一组可由其他文件管理系统使用的基本数据结构。这些数据结构是超级块、inode、dentry(或目录文件)和数据块。

  每个分区都包含一个超级块,用于维护分区中文件系统上的信息,包括一组在每个超级块中唯一编号的 inode、空闲 inode 的数目以及 inode 总数、数据块总数、空闲数据块数和文件系统的状态。文件系统的状态有两种:干净(当文件处于未更改状态时)和脏(当有未写入磁盘的文件系统更改时)。超级块中的一个 inode 对应着一个文件。

  除文件名外,inode 包含了有关文件的所有信息,其中包括:

  地址

  类型

  大小

  所有者

  对文件数据所在块的引用

  文件最后一次修改和访问的时间戳。

  可以使用以下命令查看文件的 inode:

  $ ls -i

  正如前面已经提到的,inode 只在超级块中唯一编号,且每个分区只有一个超级块,这就是硬链接无法跨越多个分区的原因。

  文件名通过 dentry 对象(用户看到的是目录文件)链接到一个 inode 编号。数据块保存实际的文件数据。

  Linux 支持任何具备 VFS 定义的基本函数集的文件管理系统。对于像 vfat 这样的文件管理系统,Linux 项目提供了它自己的设备驱动程序。

  您可以从以下输出中看到,同的文件管理系统可以存在于同一系统的不同分区上。

  df -T

  Filesystem Type 1K Blocks Used Available Use% Mounted on

  /dev/hda6 reiserfs 4195632 2015020 2180612 49% /

  /dev/hda5 ext2 14607 3778 10075 8% /boot

  /dev/hda9 reiserfs 937372 202368 735004 22% /home

  /dev/hda8 reiserfs 6297248 3882504 2414744 62% /opt

  shmfs shm 256220 0 256220 0% /dev/shm

  /dev/hda1 vfat 2159992 1854192 305800 86% /windows/C

  当前,Oracle 用户遇到的最常用的文件管理系统是 ext2/ext3、ReiserFS(不受 Oracle 支持)和 OCFS。以下是非 Oracle 分区主

展开 ↓
标签: linux 文件系统 Linux文件系统精通指南 《战神诸神黄昏》装备系统,技能介绍(《战神诸神黄昏》装备系统,技能介绍图) 《铁锤守卫英雄传》新手入门指南(铁锤守卫英雄传有几关) 《歧路旅人》历战短剑npc位置指南在哪(歧路旅人历战武器解锁限制) 《刺客信条:英灵殿》猎人瞄准系统解析(刺客信条英灵殿瞄准) 《亿万僵尸》木制科技使用技巧指南(亿万僵尸木工坊拆掉) ps4暗黑3操作指南(ps4暗黑破坏神3操作说明) 《王国之心3》键刃切换技巧指南(王国之心3键位) 《破晓传说》强化系统简单介绍(破晓传说数值) 《全面战争:三国》武将单挑系统介绍(全面战争三国什么属性的人单挑厉害) 《迸发2》前期武器推荐指南攻略(迸发2新手攻略) 《怪物猎人:崛起》任务系统详解图(怪物猎人崛起任务表) 《航海日记:起航》npc系统基础介绍大全(航海日记起航挣钱路线) 矮人要塞如何抓住吸血鬼技能(矮人要塞新手指南) 《火炬之光3》新圣物系统解析(火炬之光3圣物能量上限) 《绿林侠盗:亡命之徒与传奇》新手玩法指南(绿林侠盗好玩吗) 《硬核机甲》战斗系统介绍(《硬核机甲》战斗系统介绍) 《恶果之地》第一关西瓜boss打法技巧指南(恶果之地西瓜怎么打) 《天命奇御》刑若梅攻略指南免费阅读(天命奇御邢若梅支线选什么) 《攻城英雄》打造系统介绍图(攻城英雄dlc内容) 《绿色地狱》游戏常用快捷键设置(绿色地狱操作指南) 2077猎杀谷仓安保(2077猎杀谷仓安保系统) win11系统怎么升级(win11系统怎么升级微信) 《天涯明月刀手游》染色系统怎么玩不了(天涯明月刀手游染色不见了) 《枪火重生》太子新手指南免费阅读(枪火重生太子狙击流) 《杀戮尖塔》卡牌系统相关游戏(《杀戮尖塔》卡牌系统相关游戏) 《无双大蛇3》风魔小太郎使用技巧指南攻略(无双大蛇3风斩怎么出) apex英雄操作指南(apex英雄新手教程使用你的绝招技能) 《对马岛之鬼》战斗系统点评怎么写(对马岛之鬼流派) 《太吾绘卷》新手角色创建指南在哪(《太吾绘卷》新手角色创建指南在哪) 《王国之心3》游戏系统详细介绍图(王国之心3gamespot) 《战地5》滚筒机动操作技巧指南(战地5翻滚) 《破晓传说》战斗系统详细分析(破晓传说战斗中怎么使用道具) 《荣耀战魂》烈火行军dlc装备系统详解攻略(荣耀战魂火吗) 《天神镇物语》神力系统介绍大全(天神镇物语什么时候上线) 《魔界战记5》议会过关非sl技巧指南攻略(魔界战记5剧情过不去了) 《无双大蛇3》关羽使用技巧指南(无双大蛇z关羽特技) 《无双大蛇3》小少将使用技巧指南(无双大蛇3u武将收集) 2077系统重置制作规范(2077系统重置致命吗) steam游戏装在哪个文件夹(steam的游戏安装在哪个文件夹比较好) 《战争机器5》杰克持久战玩法指南攻略(战争机器5借一个组件为杰克升级) 《古剑奇谭3》战斗系统详解(《古剑奇谭3》战斗系统详解) 暗黑破坏神:不朽交易系统(暗黑破坏神不朽交易系统详解) 《地狱之魂》游戏全成就指南云(地狱之魂激活) 《全面战争:三国》攻城战新手指南怎么玩(全面战争三国攻城怎么算赢) 《无主之地3》dlc3主线任务指南在哪(《无主之地3》dlc3主线任务指南在哪看) 《幻塔》数据中继器怎么获取(幻塔分系统吗) 《无双大蛇3》庞德使用技巧指南(无双大蛇3张郃) cod战区操作指南(cod战区教程怎么过) 《无双大蛇3》庞德使用技巧指南(无双大蛇3关平) 《全境封锁2》mg5配装指南攻略(《全境封锁2》mg5配装指南攻略) 《星球大战:前线2》氪金系统解析(星球大战前线2代币) 《荒野大镖客2》新手入门指南在哪(荒野大镖客2新手教学) 《破坏领主》幻化系统开启方法介绍图(破坏领主怎么幻化装备) dnf修炼场有系统奶妈(dnf修炼场有系统奶妈装备吗) 《致命躯壳》新手开荒指南免费阅读(致命躯壳流程攻略) 《大将军:罗马》战斗系统详解(大将军,罗马) 《荒野大镖客2》捕猎大师挑战4技巧指南怎么过(大镖客2捕猎大师) 《中华三国志》进贡系统和官爵系统详解(中华三国志贡献够了怎么升官) win10系统性感海滩3无法进入游戏(性感沙滩3win10) 2077免疫系统义体在哪买(赛博朋克2077免疫电击义体) 《难死塔》终极巫师成就解锁指南攻略(《难死塔》终极巫师成就解锁指南攻略) 《喷射战士2》复仇技能使用技巧指南在哪(《喷射战士2》复仇技能使用技巧指南在哪) 《古剑奇谭3》战斗系统解析(古剑奇谭3战斗力排行) 《致命躯壳》新手指南免费阅读(致命躯壳流程是不是很短) fifa操作指南(fifa操作按键) 文件系 linux下挂载NTFS和FAT文件系统 局域网内共享文件安全 安全知识:局域网内共享文件安全性如何才能保障 系统 Windows7中如何删除病毒文件夹 应用指南:利用网络设备防范TCPSYN攻击 操作系统位数 查看windows操作系统位数 解析系统资源不足形成与解决方案 文件 解决VistaWin7双系统画面混乱问题 菜鸟宝典:两个技巧让Windows系统无毒 巧用系统命令看是否中毒 冰原守卫者新手攻略-冰原守卫者新手玩法指南 发现病毒感染后怎样清理系统 RunEForce健身系统下载 linux系统日志不自动切分的问题 如何把任意文件隐藏在一张图片里? Windows2000操作系统内存优化全攻略 芯平台管理系统下载 如何解决XP和Windows7文件不能互访 让WinXP十大系统服务隐患彻底消失 光驱也疯狂Autorun病毒冒充文件夹 Linux系统telnet服务设置大全 关闭XP十大隐患提高系统的安全性 linuxext3文件 linuxext3文件被删除如何恢复 优化预读文件设置 Linux系统下PPPOE拨号共享上网方法 系统内存优化 windows系统内存优化九秘招 Windows系统安全模式九大应用技巧 系统中毒:一次病毒手杀记录 Windows系统服务器(网站)安全注意事项 Linux系统各个目录的作用(中英文对照) 改良系统窗口让文件打 改良系统窗口让文件打开操作更加方便 u 关于木马在windows系统中的启动方式 Linux系统swap分区 解决Linux系统swap分区太小问题 系统安全命令 安全基础Linux必学的系统安全命令 如何巧妙利用Hosts文件有效防范QQ病毒 利用系统日志查看Windows7系统运行速度 快速扫清系统中的木马 在Windows系统下搭建SVN服务器 帝国霸业银河生存怎么造飞船(帝国霸业银河生存操作指南) 盗贼之海操作指南(盗贼之海操作指南在哪) 冬日计划按什么键说话(冬日计划操作指南) 动森的天气系统(动森天气预测网站) 刺客信条奥德赛新游戏+怎么开(刺客信条奥德赛新手指南) 大航海探险物语酒馆招人怎么看几精通(大航海探险物语酒馆怎么招募s级) 彩虹六号围攻操作指南(彩虹六号围攻基本操作) 博德之门3更新50g(博德之门3更新文件损坏) 地痞街区风灵月影(地痞街区道具指南) 拆迁金库怎么进入管理(拆迁金库怎么进入管理系统) 超级机器人大战t系统详解(超级机器人大战t机体一览) 帝国霸业银河生存怎么快速升级(帝国霸业银河生存操作指南) 地痞街区怎么使用技能(地痞街区道具指南) 碧蓝航线萌新入坑攻略(碧蓝航线新手指南2020) 超级动物大逃杀躲藏时需要注意什么(超级动物大逃杀操作指南) 戴森球计划基础物流系统(戴森球计划基础物流系统怎么解锁) 电竞传奇的存档文件夹(电竞传奇的存档文件夹怎么删除) 穿越火线跨系统(穿越火线跨系统角色转移卡怎么用) 冬日计划按键指南(冬日计划在哪里玩) 刺客信条英灵殿购买流程(刺客信条英灵殿购买指南) 戴森球计划常用快捷键(戴森球计划操作指南) 城市天际线道路建设指南(城市天际线道路如何规划) 帝国入睡指南(帝国入侵游戏) 彩虹六号围攻购买指南(彩虹6号围攻购买) 盾墙基本操作指南(盾墙基本操作指南pdf) 第七史诗入坑指南(第七史诗入坑) 刺客信条英灵殿家园系统(刺客信条英灵殿家园系统升级) 东方年代记魅魔印记(东方年代记全角色指南) 崩坏三数据文件在哪里(崩坏3数据文件) 地铁逃离手电筒怎么打开(地铁逃离按键指南) 帝国霸业银河生存删除飞船(帝国霸业银河生存操作指南) 大航海探险物语宠物蛋攻略(大航海探险物语宠物孵化配色指南) 彩虹六号围攻教程(彩虹六号围攻操作指南) 刺客信条:奥德赛全传奇武器收集指南!(刺客信条奥德赛传奇武器位置地图)

最新游戏更多

最新软件更多

  • 玩家推荐
  • 游戏攻略

北航游戏网 Copyright(C) 2008- 600435.cn All Rights Reserved!

苏ICP备17061231号| 免责声明