linux学习之路之磁盘管理和文件系统三

ext3文件系统和ext2文件系统的区别?

在某些时候,某个用户在linux系统上写入数据,这时系统正好断电或者系统核心出现错误,写入的数据仅有inode table和datablock而已,可能会导致之前写过的数据没有保存在磁盘上。而当系统重启后,系统可能会对没有保存的数据进行数据恢复。但是,由于系统并不知道是哪个文件不完整,因此会遍历整个文件系统中inode,来查看block是否完整。不过,当某个文件的数据太大时,数据的恢复时间可能会比较长,而这对于服务器来说是不利的。所以在这种情况下,也就诞生了日志文件系统。

日志文件系统的工作原理:在文件系统中,专门存在一块区域叫做日志记录区域,当某个文件的数据正在写入时,会将这个文件的inode写入到日志记录区中,然后在将实际数据写入到block中;如果此时断电导致数据没有保存,那么当系统重启后,系统就只会去日志记录区中查找那些不完整的文件的inode号,然后在专门对这些不完整的文件来进行数据恢复或者删除掉。如果是正常写入,那么就会将日志记录区域中的inode重新写入到元数据区中。

而在ext3文件系统中就含有日志文件系统,ext2文件系统中没有,这也就是ext3和ext2文件系统的根本区别所在。

在之前的文章中我们介绍了许多中文件系统,那么如何创建一个文件系统呢?

在创建一个文件系统前,首先磁盘要进行分区,得到多个分区后,在对每一个分区进行高级格式化,就得到了一个文件系统。所以说高级格式化分区的结果就是一个文件系统的产生。

创建文件系统使用mkfs命令

语法格式  mkfs [-t FSTYPE] 装置名

-t FSTYPE:指定文件系统类型

不过,mkfs是一个综合命令,可以来创建各种各样的文件系统,不过我们最常见的文件系统还是ext2/ext3文件系统,而linux系统中有一个专门的命令是用来创建ext2/ext3文件系统的,那就是

mke2fs命令。所以我们有必要掌握这个命令。

语法格式为:mke2fs [option] 装置名

-j:指定文件系统类型为ext3,默认文件系统类型为ext2

-b size:指定block大小,默认为4096Bytes,可以取值为1024Bytes,2048Bytes,4096Bytes

-L:指定分区卷标(也就是文件系统的名字)

-m #:指定预留给超级用户的块数百分比

-i #:指定多少个字节的空间创建一个inode号,默认为8192

-N #:指定inode的数量

-F:强制创建文件系统

-E:用户指定额外的文件系统属性

创建好了文件系统之后,可以使用blkid来查看指定分区的相关属性。

语法格式:

blkid 装置名 :用来查看指定分区的LABLE、UUID以及文件系统类型

当然还有另一个命令也可以开查看某个分区的卷标,那就是e2lable

语法格式:e2lable 装置名(必须写) : 用来查看或重新设定某个分区的卷标

当然创建了文件系统之后,如果想修改某个分区的属性,可以使用tune2fs来修改

tune2fs用来修改文件系统的属性

语法格式 tune2fs [option] 装置名(必须写)

-j:在不破坏原有数据的情况下,将ext2升级为ext3

-L LABLE:设定或修改分区卷标

-m #:调整预留超级用户的块数百分比

-r #:指定留给超级用户的块数

-o :设定默认挂载选项

-c #:指定文件系统挂载多少次以后进行自检,0或-1表示关闭此功能

-i #:指定每次挂载多少天之后进行自检,0或-1表示关闭此功能

-l :显示Superblock中的信息

要显示一个完整的文件系统的信息,使用dumpe2fs来查看

语法格式:

dumpe2fs 装置名:不加任何选项,表示显示文件系统的所有信息

dumpe2fs -h 装置名:只显示文件系统中Superblock的信息

在此之前提过,当linux系统在运作时,如果突然断电或者系统核心出现故障,都会导致我们的数据在硬盘和内存中不一致,有可能会导致文件系统的错乱。当文件系统错乱时,我们可以使用fsck命令来修复

语法格式:fsck [option] 装置名 用来检查并修复linux文件系统

-t FSTYPE:指定修复的文件系统的类型

-a:自动修复

另外e2fsck用来专门检查并修复ext2/ext3文件系统的

语法格式:e2fsck [option] 装置名

-p:自动修复

-f:强制检查

linux学习之路之磁盘管理和文件系统三,布布扣,bubuko.com

时间: 2024-12-28 01:00:24

linux学习之路之磁盘管理和文件系统三的相关文章

linux学习之路之磁盘管理和文件系统二

从前面的学习中,我们知道磁盘可以划分多个分区,每一个分区可以经过高级格式化以后,就形成了一个文件系统.那么在Linux系统中该如何创建分区呢? 使用fdisk命令可以来创建分区 语法格式为:fdisk [-l] 设备文件名(不能加数字) -l:显示指定硬盘上所有的分区内容.后面不加设备,则显示系统上所有的设备的所有分区内容. 不加任何选项时,可以用来创建分区. 使用fdisk 设备文件名(不能加数字) 其中这些子命令表示如下意思: p:显示当前硬盘上面的所有分区,包括没有保存的. n:表示创建新

Linux学习之路4-磁盘管理、文件系统简介

(注意:文件系统大部分内容放到下一章了) Linux磁盘管理 分区工具fdisk (最多支持一个硬盘划分15个分区) 管理子命令: n 新建 p 显示分区 t 更改分区类型 d 删除分区 l分区类型说明 w 保存退出 q 放弃保存退出 m 获取帮助 注意:创建完成之后,查看内核是否已经识别新的分区: # cat /proc/partitions 如果没有识别,可以使用以下命令让系统识别: CentOS 5上使用: partprobe [DEVICE],例如pratprobe /dev/sdb1

linux学习之路之目录管理和文件管理

我们知道linux文件系统是一个树型结构,在最上层是'/'目录,根目录的下面就是其他目录,而这些目录下面又可以有多个子目录,这样一层一层的就形成一个树型结构图.那是不是我们查找某一个文件必须要从根目录开始往下查找的呢?当然不是,在这里我将会介绍两种路径方式:相对路径和绝对路径. 什么是相对路径和绝对路径? 绝对路径:就是从'/'根目录开始往下一级一级的查找,直到目的所经过的线路. 相对路径:就是相对当前位置而言来找到目的地所经过的线路. 目录的创建 mkdir:用于创建目录 语法格式:mkdir

linux学习之路之模块管理和内核编译

我们知道linux内核再启动过程中,主要完成以下几种功能: 1.侦测硬件信息 2.驱动初始化(可能借助intrd文件加载硬件模块) 3.以只读方式挂载根文件系统 4.转载第一支程序init 如果我们的kernel识别不了某些硬件或者实现不了某些功能的话,那么只能将某些功能代码添加在内核当中,或者将这些功能代码做成模块的形式,kernel需要哪些模块就直接调用这些模块即可.通过这两种功能就可以实现相应的功能. 而不同的实现机制和kernel设计有关. kernel设计分为2种: 一种是单内核:这种

Linux学习之路5-磁盘管理及文件系统管理

磁盘管理及文件系统管理 Linux磁盘管理 分区工具fdisk (最多支持一个硬盘划分15个分区) 管理子命令: n 新建 p 显示分区 t 更改分区类型 d 删除分区 l分区类型说明 w 保存退出 q 放弃保存退出 m 获取帮助 注意:创建完成之后,查看内核是否已经识别新的分区: # cat /proc/partitions 如果没有识别,可以使用以下命令让系统识别: CentOS 5上使用: partprobe [DEVICE],例如pratprobe /dev/sdb1 CentOS 6,

linux学习之路之进程管理

什么是进程? 所谓进程就是将一个二进制文件加载到内存形成的一个个体,这就是一个进程. 在我们的linux系统中,系统只识别二进制文件,所以一个系统要想正常的运行时,必须启动一些二进制文件,从而形成进程,在以这些进程的方式去执行相应的任务. 我们常常听到所谓的程序,那么程序和进程是什么关系呢? 刚刚说过进程是由二进制文件加载到内存中形成的.而这些二进制文件就是程序. 可以这么来理解: 程序是实实在在地文件,是存放在磁盘上的. 进程是一个逻辑概念,进程是存在内存当中的,所以当机器重启,这些进程也随之

Linux学习笔记<十二>——磁盘管理

设备文件: b:块文件,按块为单位,随机访问的设备,如磁盘 c:字符文件,按字符为单位,访问有先后次序的线性设备,如键盘 ls -l查看设备文件,原显示大小的列改显示为 主设备号(major number) 用于标识设备类型 次设备号(minor number) 用于标识同一种类型的不同设备 mknod 创建块或字符设备文件 mknod [OPTION]... NAME TYPE [MAJOR MINOR] -m MODE 指定权限 例子:mknod -m 640 mydev c 66 0 硬盘

Linux学习之路1-用户管理和权限管理

用户管理和权限管理 用户 linux的用户账号记录主要存放在/etc/passwd,每增加一个用户就会新增一行.每一行一共有7个字段,用冒号分隔 每个字段的含义: aa:x:300:503::/home/database:/bin/bash 用户名:密码:UID:GID:注释:家目录:用户默认shell 我们来解析一下每一个字段的含义 用户名:也就账号名,有字母.数字.字符组成,不能以数字开头 密码:这里的密码会用X字符代替,为了安全,真正的密码存放在/etc/shadow里面 UID:用户ID

Linux学习之路-权限的管理

权限管理 文件权限: 用户对文件的访问权限有三种: r,w, x  即读.写.执行 目录权限(这里的x权限和文件的有点不一样要留意): r:可使用ls命令列出目录中的文件或子目录列表:注意:如果只有r权限没有x权限,是不能列出该目录中的文件和子目录的 w:可在此目录中创建或删除文件: x:可使用'ls -l'列出目录文件及子目录的详细属性信息:可使用cd命令切换工作目录为指定目录:简单来说就是没有x权限就进不了这个目录 文件的权限主要针对三类对象进行定义: ownuer:u, 属主: group