磁盘分区是任何系统中最基本的内容。
一、Linux的目录结构
/: 根目录;
/bin: 二进制,可执行的命令;
/sbin: 可执行命令,仅用于管理,通常管理员才有权限使用;
/boot: 引导,操作系统用于引导系统启动的文件,内核、grub;
/dev: 设备文件;
Linux的设备类型:
字符设备:c, 线性设备
块设备:b, 随机设备
/etc: 配置文件;
/home: 用户的家目录,/home/USERNAME,jerry, /home/jerry;
/root: 管理员的家目录;
/lib, /lib64: 库文件
/media: 挂载点目录,通常用于挂载便携性设备;
/mnt:挂载点目录,挂载额外的文件系统;
/misc: 备份目录;
/opt: 可选目录,通常第三方软件偶尔安装于此路径下;
/proc: 伪文件系统;内存中内核的映射;
/selinux: 安全加强的Linux;
/srv: 属于服务的中间数据的存储位置;
/sys: 伪文件系统,通常用于访问硬件设备属性信息;
/tmp: 临时文件目录;
/usr: 存储只读文件;
/var: 经常会发生变化的文件;比方说日志等;
二、磁盘分区
- 磁盘分区的命令有fdisk、sfdisk、part,其中最常用的命令是fdisk,part通常用于大硬盘分区(2T以上),下面主要介绍fdisk命令的用法:
fdisk –l [DEVICE] 列出硬盘信息
fdisk [DEVICE]
这是一个交互式命令:
d:删除一个分区
n:新建一个分区
p:显示当前的分区信息
w:保存退出
q:不保存退出
l:各分区类型所对应的System ID:
83:Linux
82:Linux Swap,交换分区
8e:LVM
fd:Soft Raid
t:修改指定分区的System ID
fdisk –l 列出当前硬盘信息
可以看到一共有两块硬盘,分别为sda和sdb,sda硬盘已经被分区完,那么下面我们就把sdb硬盘来分区吧。
fdisk /dev/sdb
输入m查看帮助信息
常用的命令我们已经在上边讲过,那么我们就直接来创建一个新的分区。
输入n创建一个新分区
e 表示扩展分区
p表示主分区
输入p创建一个主分区
这里从1-4中选择一个分区号码,输入1
First cylinder 这里一般默认从1开始,我们只需要敲击回车键即可。
Last cylinder 这里可以输入柱面的大小,也可以使用+10G来指定分区的大小。
使用p命令来查看我们刚才创建的分区。
输入w可以保存退出,q可以不保存退出。
通过上面的方式,我们创建4个分区。
输入d来删除分区,删除第一个分区。
再次使用p来查看分区信息,sda1已经被删除。
查看内核识别的分区信息
cat /proc/partitions
可以看到我们的分区已经被内核识别。
如果内核没有识别我们的分区,我们可以使用partx –a [PARTITION] DEVICE命令来让内核重新读取硬盘分区表。
例如:partx –a /dev/sdb3
三、硬盘格式化
Linux系统中的文件系统有很多,其中最常用的有ext2、ext3、ext4、xfs、reiserfs、nfs等。一般Linux服务器上的文件系统有ext3和ext4.
Linux系统中格式化工具很多,有mkfs、mke2fs
mkfs的使用方法
mkfs –t fstype /dev/part
并且
mkfs -t ext4 = mkfs.ext4
mkfs -t ext3 = mkfs.ext3
mkfs -t ext2 = mkfs.ext2
这里我们不再介绍这种格式工作,来讲下强大的mke2fs命令。
mke2fs
–t {ext2|ext3|ext4}
-b {1024|2048|4096}块大小
块大小取决于CPU对内存叶框大小的支持,x86系统默认叶框大小为4K
-L label:设定卷标
-m # :预留给管理使用的块所占据总体空间的比例,默认为5%
-r # :预留给管理使用的块的个数
-E :设定文件系统的扩展属性
tune2fs 是调整和查看ext2|ext3|ext4文件系统的命令,功能与mke2fs一样强大
-l :显示文件系统超级块信息
-L lable :设定卷标
-m # :调整预留给管理使用的块所占据总体空间的比例
-r # :调整预留给管理使用的块的个数
-o :设定挂载默认选项
-O :设定文件系统默认特性
-E :调整文件系统的扩展属性
格式化sdb2分区为ext4
mke2fs –t ext4 /dev/sdb2
指定块大小
mke2fs –t ext4 –b 1024 /dev/sdb3
指定卷标(卷标主要用于挂载)
指定预留给管理使用的块所占据总体空间的比例(说明:如果没有预留空间给管理使用,那么一旦分区被占用完,那么就没有多余的空间给管理员让他在分区中进行操作)
mke2fs -t ext3 -m 10 /dev/sdb2
以上是mke2fs命令的基本使用用法,那么我们如何查看分区的相关信息呢,比如我们设定的块大小、Label、预留给管理使用的块设备的比例呢。那就是tune2fs啦。
首先,我们将sdb4再次格式化。
mke2fs –t ext4 –L “MyLinux” –m 10 –b 2048 /dev/sdb4
使用tune2fs –l /dev/sdb4来查看该分区的信息。
查看卷标我们可以使用e2label命令,同时这个命令还可以设定卷标
e2label DEVICE [Volume_label]
e2label /dev/sdb4
e2label /dev/sdb4 MyNewLinux 修改sdb4的卷标
tune2fs的用法和mke2fs一样,就像useradd和usermod用法是一样一样的。
以上就是硬盘分区格式化的内容,下一章我们会来谈谈Linux下的文件系统挂载。