Linux 入门记录:八、Linux 文件系统
一、文件系统
操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化。没有文件系统的设备又称之为裸设备(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)拥有较强的稳定性,主要体现在出错时可以恢复。
使用带日志的文件系统,文件系统会使用一个叫做“两阶段提交”的方式进行磁盘操作,当进行磁盘操作时,文件系统进行以下操作:
- 文件系统将准备执行的事务的具体内容写入日志
- 文件系统进行操作
- 操作成功后,将事务的具体内容从日志删除
这样做的好处是,当事务执行的时候如果出现意外(如断电或磁盘故障),可以通过查询日志进行恢复操作。缺点是会丧失一定的性能(额外的日志读写操作)。
七、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 文件系统的更多相关文章
- linux入门教程(八) Linux磁盘管理
[查看磁盘或者目录的容量 df 和 du] df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k –m等 -i 使用inode ...
- Linux 入门记录:二十、Linux 包管理工具 YUM
一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...
- Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密
一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)
一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...
- Linux 入门记录:十六、Linux 多命令协作:管道及重定向
一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...
- Linux入门基础(一):Linux基本操作
命令行BASH基本操作 Shell 用户不能直接操作内核,所以用户操作通过shell传递给内核 shell分为两种 : GUI 图形界面 (linux一般是GNOME) CLI 命令行界面 (linu ...
- 零基础Linux入门之《Linux就该这么学》
本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...
- lilybbs-faq - linux入门以及百合 Linux 版精华区导读
QUESTIONS 问题与解答 不需要任何命令的简单介绍 历史 (APUE 提到了1990年之前的unix历史,还有各种标准 ANSI ISO IEEE posix xpg3.... 但是linux ...
- Linux 入门记录:九、Linux 文件系统挂载管理
一.挂载操作 磁盘或分区创建好文件系统后,需要挂载到一个目录才能够使用. Windows 或 Mac 系统会进行自动挂载,一旦创建好文件系统后会自动挂载到系统上,Windows 上称之为 C 盘.D ...
随机推荐
- [计算机网络-传输层] 面向连接的传输:TCP
参考:http://blog.csdn.net/macdroid/article/details/49070185 在学习TCP之前我们先来看一下可靠数据传输需要提供什么样的机制: ·差错检测机制:检 ...
- JAVA开发工作流程
阶段 0 :拟出一个计划 决定在后面的过程中采取哪些步骤,思考整个开发任务如何实现,分步骤建立“路标”,这样可以帮助自己开发时一步一个脚印的逐步完成,有效的防止自己在开发过程中迷失方向. 阶段 1 : ...
- Git更新github项目
1. 把github上你想要更新修改的项目克隆到本地 $ git clone https://github.com/delav/test.git 2. 根据自己需求对项目进行修改 3. 把项目放到缓存 ...
- [转载]看看大牛们是怎样获得英文综述(reviews)的?
对于做实验的童鞋来说,平时看综述必不可少,可是如何获得自己想要的却并不是一件容易的事情,这里整理并推荐几种行之有效的方法: 1. http://www.annualreviews.org/,这是一个顶 ...
- [BZOJ4036] [HAOI2015]按位或
传送门:https://lydsy.com/JudgeOnline/problem.php?id=4036 Description 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数 ...
- [洛谷P4168][Violet]蒲公英
题目大意:有$n(n\leqslant4\times10^4)$个数,$m(m\leqslant5\times10^4)$个询问,每次问区间$[l,r]$内的众数,若相同输出最小的,强制在线. 题解: ...
- BZOJ2668:[CQOI2012]交换棋子——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2668 https://www.luogu.org/problemnew/show/P3159#sub ...
- 微软TTS语音引擎编程入门
原文链接地址:http://www.jizhuomi.com/software/135.html 我们都使用过一些某某词霸的英语学习工具软件,它们大多都有朗读的功能,其实这就是利用的Windows ...
- BZOJ2186 [Sdoi2008]沙拉公主的困惑 【数论,欧拉函数,线性筛,乘法逆元】
2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 5003 Solved: 1725 [Submit] ...
- 在 C Level 用 dlopen 使用 第三方的 Shared Library (.so)
http://falldog7.blogspot.com/2013/10/android-c-level-dlopen-shared-library-so.html 在 Android 裡,撰寫 JN ...