一、文件系统管理
什么是文件系统?
我的理解是文件系统是对磁盘上的数据和文件结构的管理规范。
如果文件系统没有继承性,那么以前文件系统的数据就无法传到新的文件系统中。
Linux的文件系统有这么几种:ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap
以及Linux的虚拟文件系统:VFS
Linux中创建文件系统的工具:mkfs
用法:mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
选项:
-t, �type=<类型> 文件系统类型;若不指定,将使用 ext2
fs-options 实际文件系统构建程序的参数
<设备> 要使用设备的路径
<大小> 要使用设备上的块数
-V, �verbose 解释正在进行的操作;
多次指定 -V 将导致空运行(dry-run)
-V, �version 显示版本信息并退出
将 -V 作为 �version 选项时必须是惟一选项
-h, �help 显示此帮助并退出
我们创建一个文件系统试试
用fdisk -l查看刚才创建的/dev/sdb
创建虚拟内存即交换分区:mkswap
用法:mkswap [选项] 设备 [大小]
选项:
-c, �check 创建交换区前检查坏块
-f, �force 允许交换区大于设备大小
-p, �pagesize SIZE 指定页大小为 SIZE 字节
-L, �label LABEL 指定标签为 LABEL
-v, �swapversion NUM 指定交换空间版本号为 NUM
-U, �uuid UUID 指定要使用的 UUID
-V, �version 输出版本信息并退出
-h, �help 显示此帮助并退出
块设备属性信息查看:blkid
blkid可以查到块设备的UUID号、TYPE等信息
对文件系统进行检测修复:fsck
用法:fsck [选项] [文件系统]
选项:
-a :自动修复文件系统,不询问任何问题。
-A :依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。
-N :不执行指令,仅列出实际执行会进行的动作。
-P :当搭配"-A"参数使用时,则会同时检查所有的文件系统。
-r :采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。
-R :当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。
-s :依序执行检查作业,而非同时执行。
-t :<文件系统类型> 指定要检查的文件系统类型。
-T :执行fsck指令时,不显示标题信息。
-V :显示指令执行过程。
二、文件系统的分区
在创建完成文件系统后需要对文件系统进行分区才可以使用
可使用fdisk对文件系统进行分区(此工具最多可管理一个磁盘的15个分区)
fdisk用法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
选项:
-b <大小> 扇区大小(512、1024、2048或4096)
-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)
-h 打印此帮助文本
-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v 打印程序版本
-C <数字> 指定柱面数
-H <数字> 指定磁头数
-S <数字> 指定每个磁道的扇区数
例:fdisk -l 可显示出当前磁盘的分区信息
我们还可以通过fdisk后面接磁盘,对该磁盘进行创建分区等操作
例如:fdisk /dev/sda然后按m进入帮助模式进行操作
例如:我们要删除一个分区就按d,我选择删除分区2
例如:我们要创建一个新分区就按n,
这里的p为主分区,e为扩展分区,选择你想要创建的分区,这里我选择创建一个主分区,分区号为2,分区大小为10G
例如:我们按p可以看到刚才的分区情况
最后我们按w写入分区表到磁盘然后退出
通过fdisk -l 列出新分区表对比一下之前的看是否成功
可以看出分区是成功的
也可以通过cat /proc/partations查看内核是否识别出新分区
如果没有成功可以使用partx -a/dev/sda或者kpartx -a /dev/sda通知内核重新读取分区表
注:centos 5使用partprobe/dev/sda来重读分区表
partx的用法:partx [-a|-d|-s|-u] [�nr <n:m> |<分区>] <磁盘>
选项:
-a, �add 添加指定的分区或所有分区
-d, �delete 删除指定的分区或所有分区
-s, �show 列出分区
-u, �update 更新指定的分区或所有分区
-b, �bytes 以字节为单位而非易读的格式来打印 SIZE
-g, �noheadings �show 时不打印标题
-n, �nr <n:m> 指定分区范围(例如:�nr 2:4)
-o, �output <type> 定义使用哪个输出列
-P, �pairs 使用 key=“value” 输出格式
-r, �raw 使用原生输出格式
-t, �type <类型> 指定分区类型(dos、bsd、solaris 等)
-v, �verbose 详尽模式
-h, �help 显示此帮助并退出
-V, �version 输出版本信息并退出
可用的列(针对 �show、�raw 或 �pairs):
NR 分区号
START 分区起点(扇区数)
END 分区终点(扇区数)
SECTORS 扇区数
SIZE 易读形式的大小
NAME 分区名
UUID 分区 UUID
TYPE 分区类型十六进制或 uuid
FLAGS 分区标志
SCHEME 分区表类型(dos、gpt、…)