一、磁盘分区与格式
1、fdisk命令
作用:fdisk命令用于管理磁盘分区,它提供了集添加、删除、转换分区等功能于一身的"一站式分区服务"。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数(见表6-5)是交互式的,因此在管理硬盘设备时特别方便,可以根据需求动态调整。
格式:fdisk 磁盘名
内部选项:
参数 | 作用 |
m | 查看全部可用的参数 |
n | 添加新的分区 |
d | 删除某个分区信息 |
l | 列出所有可用的分区类型 |
t | 改变某个分区的类型 |
p | 查看分区表信息 |
w | 保存并退出 |
q | 不保存直接退出 |
2、parted命令
作用:对于 GPT 格式的分区, fdisk 工具是无能为力的,同时, fdisk 工具对分区是有大小限制的,它只能划分小于 2T 的磁盘。但是现在的磁盘空间很多都已经是远远大于 2T ,此时就需要另外一个磁盘管理工具 parted 来完成大于 2T 的磁盘分区工作。
安装:yum -y install parted
格式:parted /dev/磁盘名 【parted提供交互式命令】
选项:
参数 | 作用 |
mklabel | 创建分区表,也就是设置使用msdos还是使用gpt格式。例如:mklabelgpt,表示设定分区表为gpt格式。
|
mkpart | 创建新分区命令。 使用格式为:mkpartPART-TYPE [FS-TYPE] START END 其中,PART-TYPE,表示分区类型,主要有primary(主分区),extended(扩展分区),logical(逻辑区),其中,扩展分区和逻辑分区只针对msdos分区表。 fs-type,表示文件系统类型,主要有fat32,NTFS,ext2,ext3等,可不填写。
|
| 输出分区信息,可简写为p。该功能有3个选项: free,显示该盘的所有信息,并显示磁盘剩余空间。 number,显示指定的分区的信息。 all或list,显示所有磁盘信息。
|
rm | 删除分区。命令格式rmnumber 。 例如:rm2 就是将编号为3的分区删除 |
select | 选择设备。 当输入parted命令后直接回车进入交互模式时,默认设置的是系统的第一块硬盘,如果系统有多块硬盘,需要用select命令选择要操作的硬盘。 例如:select /dev/sdb
|
3、mkfs命令
作用:对磁盘分区进行格式化操作。
格式:mkfs.文件类型 磁盘分区
二、挂载磁盘
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是"挂载"。
1、mount命令
作用:用于挂载文件系统。
格式:mount 文件系统 挂载目录。
选项:
参数 | 作用 |
-a | 挂载所有在/etc/fstab中定义的文件系统 |
-t | 指定文件系统的类型 |
备注:对于比较新的Linux系统来讲,一般不需要使用-t参数来指定文件系统的类型,Linux系统会自动进行判断。而mount 中的-a参数则厉害了,它会在执行后自动检查/etc/fstab文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作。
2、/etc/fstab自动挂载文件
对于一个挂载后的磁盘来说要想其开机重启后可以自动挂载需要将挂载信息添加到/etc/fstab下。
用于挂载信息的指定填写格式中,各字段所表示的意义:
字段 | 意义 |
设备文件 | 一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier) |
挂载目录 | 指定要挂载到的目录,需在挂载前创建好 |
格式类型 | 指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等 |
权限选项 | 若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async |
是否备份 | 若为1则开机后使用dump进行磁盘备份,为0则不备份 |
是否自检 | 若为1则开机后自动进行磁盘自检,为0则不自检 |
3、umount命令
作用:umount命令用于撤销已经挂载的设备文件。
格式:umount [挂载点/设备文件]
4、du命令
作用:查看文件数据占用量,该命令就是用来查看一个或多个文件占用了多大的硬盘空间。
格式:du [选项] [文件]
5、df命令
作用:用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
格式:df [选项] [文件]
选项:
参数 | 作用 |
-a | 全部文件系统列表 |
-h | 方便阅读方式显示 |
-H | 等于"-h",但是计算式,1K=1000,而不是1K=1024 |
-i | 显示inode信息 |
-l | 只显示本地文件系统 |
-T | 文件系统类型 |
三、使用extundelete恢复误删除的文件
1、反删除工具简介
在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大。ext3grep仅支持ext3文件系统的恢复,恢复速度较慢,而extundelete可以恢复ext3/ext4文件系统的数据,并且恢复速度很快。
extundelete官网:http://extundelete.sourceforge.net/
2、恢复原理
extundelete首先会通过文件系统的inode信息(根目录的inode一般为2)来获得当前文件系统下所有文件的信息,包括存在的和已经删除的文件,然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块,间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。
3、extundelete的安装与使用(编译)
[root@cloud1 app]#tar jxvfextundelete-0.2.4.tar.bz2
[root@cloud1 app]#cd extundelete-0.2.4
[root@cloud1 extundelete-0.2.4]#./configure
[root@cloud1 extundelete-0.2.4]#make
[root@cloud1 extundelete-0.2.4]#make install
成功安装extundelete后,会在系统中生成一个extundelete可执行文件
extundelete常用选项:
--restore-inodeino[,ino,...],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。
--restore-file 'path',恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。
--restore-files 'path',恢复命令参数,表示将恢复在路径中已列出的所有文件。
--restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。