Linux磁盘及文件系统管理

1. 关于设备文件

设备有两种类型: 块(block)和字符(character)
块为随机访问,数据交换单位是"块"
字符为线性访问,数据交换单位是"字符"
设备文件就是关联至设备的驱动程序以及设备的访问入口,通常在/dev下

2. 磁盘分区

一块硬盘就是一个储存空间,分区只是人为的将其划分。在硬盘上有一个叫0磁道0扇区是被预留出来的,不属于任何分区,这个扇区称之为MBR。MBR大小为512bytes,并分为三部分:

  1. 446bytes: bootloader, 程序引导启动操作系统的程序
  2. 64bytes: 分区表,每16bytes表示一个分区,最多有四个主分区
  3. 2bytes: 前面信息的有效性表示(结束标志)

如果一个磁盘需要划分超过4分区,就需要将其中一个16bytes当扩展分区的分区表。整个扩展分区不能直接使用,必须继续划分成逻辑分区

3. 磁盘分区管理命令

fdisk, parted, sfdisk三个,一般用fdisk

fdisk -l [device] 查看分区
其他子命令:
p  显示分区表
n  新建分区
d  删除分区
t   修改分区id
w  保存并退出
q  不保存退出

4. 文件系统

创建文件系统第一步就是格式化文件系统。格式化把硬盘分为inode区和数据区。常见的文件系统有:ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap

一个文件分为元数据区数据区

元数据区中存放文件的元数据(inode)。inode包含文件大小, 权限,属主属组,时间,指向数据块的指针

数据区就是存放数据

链接文件其实就是window中的快捷方式,路径不同但是访问的同一文件。
链接文件又分为一下几种。

  • 硬链接: 指向同一个inode的多个文件路径,硬链接有三个特点: 目录不支持硬链接,硬链接不能跨文件系统,创建硬链接将增加node引用计数
  • 符号链接:指向一个文件路径的另一个文件路径,符号链接的三个特点:符号链接与文件是两个独立的文件,有各自inode,支持目录创建符号链接,可以跨文件系统,删除符号链接不影响源文件,如果源文件删除,则符号链接变无效

5. 文件系统相关的命令

注意: 对于不同的文件系统,创建文件系统的命令都是不相同的。

5.1 mkfs命令用于在硬盘上创建linux文件系统,mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。mkfs还包括: mkfs.et2, mkfs.ext3, mkfs.xfs ....

mkfs [选项] [参数]
fs:指定建立文件系统时的参数; 
-t<文件系统类型>:指定要建立何种文件系统; 
-v:显示版本信息与详细的使用方法; 
-V:显示简要的使用方法;
-c:在制做档案系统前,检查该partition是否有坏轨;

5.2 e2label命令:卷标的查看与设定
查看:e2label device
设定:e2label device LABEL

5.3 tune2fs命令:查看或修改ext系列文件系统可调整的参数值
-l: 查看指定文件系统的超级块信息

5.4 文件系统检测的工具, fsck和e2fsck
fsck 支持以下选项:
-t: fstype
-a: 自动修复错误
-r: 交互式修复错误
e2fsck 用于修改ext系列文件系统
-y: 对问题自动yes
-f: 强制检测

5.5 blkid命令用来查看指定块设备的属性信息
blkid device
blkid -L LABEL: 可以查看卷标所对应的设备
blkid -U UUID: 根据UUID查找对应设备

5.6 swap交换分区必须使用独立的文件系统, 且文件系统system ID必须为82, 创建swap设备使用mkswap命令

6. 文件系统挂载

实现挂载操作,使用mount命令, 挂载点需要事先存在,并且目录是空闲的。

mount [option]...[-t fstype] [-o option] device dir
选项:
-r: 只读挂载
-w: 读写
-L LABEL
-U UUID
-a: 自动挂载所有(/etc/fstab 文件中定义的)支持的自动挂载设备
-n: 挂载时, 不更新/etc/mtab文件
-o: options

实现卸载操作,使用umount命令,卸载需要挂载点没有被进程访问时可以卸载。umount DEVICE 或者 umount MOUNT_POINT。
卸载前最好是要查看下哪些进程正在访问挂载的设备, 可使用 fuser -v 挂载点。 fuser -km 挂载点 可以中止正在此挂载点的进程。

8. 自动挂载

设备自动挂载的配置文件在/etc/fstab
定义每一个要挂载的文件系统以及相关属性包含6个字段:

1. 要挂载的设备: 设备文件,LABEL, UUID, 伪文件系统
2. 挂载点: swap类型的设备的挂载点为swap
3. 文件系统类型
4. 挂载选项
5. 转储频率: 0从不,1每天,2每隔一天
6. 自动次序: 0不自检,1首先自检,2次级自检

你可能感兴趣的:(Linux磁盘及文件系统管理)