Linux 磁盘分区格式化及挂载

理解inode:
推荐文章:http://www.ruanyifeng.com/blog/2011/12/inode.html

磁盘分区

fdisk
fdisk提供交互式接口管理分区,操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘中。


语法:
1.查看分区使用信息:
fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况;
2.管理分区
fdisk device
常用命令:
n:创建新分区
d:删除已有分区
t:修改分区类型
l:查看分区类型
w:保存并退出
q:不保存退出
p:显示现有分区
h/m:查看帮助信息

sfdisk:略,本人不会用.也不想学.

parted:
推荐文章:http://my.oschina.net/guol/blog/61424

Note:在已经分区并且已挂载其中某分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别.
通知内核强制重读分区表:

查看:$ cat /proc/partitions

CentOS 5:partprobe [device]
CentOS 6,7:partx,kpartx,partprobe
partx -a [device]
kpartx -af [device]

磁盘管理

文件系统管理工具

mkfs -t type = mkfs.{ext(2|3|4)|xfs|vfat...}    创建文件系统

fsck -t type = fsck.{ext(2|3|4)|xfs|vfat...} 检测及修复文件系统

创建swap文件系统

Linux上的交换分区必须使用独立的文件系统;System ID必须为82.
mkswap [options] device
-L LABEL 指明卷标
-f 强制

mke2fs:系列文件系统管理工具


mke2fs [options] device
-t {ext2|ext3|ext4}:指明要创建的文件系统类型
mkfs.ext4 == mkfs -t ext4 == mke2fs -t ext4
-b {1024|2048|4096}:指明文件系统的块大小
-L LABEL :指明卷标
-j 创建有日志功能的文件系统ext3
mke2fs -j == mke2fs -t ext3 == mkfs -t ext3 == mkfs.ext3
-i # bytes-per-inode,指明inode与字节的比率;即每多少字节创建一个inode;
-N # 直接指明要给此文件系统创建的inode数量;
-m # 指定预留的空间,百分比
-O feature[,...] 以指定的特性创建目标文件系统;

tune2fs:查看或修改ext系列文件系统的某些属性


tune2fs [options] device
-l 查看超级块内容
修改文件系统的属性:
-j ext2-->ext3;
-L LABEL 修改卷标;
-m # 修改预留空间百分比;
-O [^]feature[,...] 开启或关闭某种特性;
-o [^]mount_options 开启或关闭某种默认挂载选项;
例: 1.默认关闭acl:-o ^acl 2.默认开启acl:-o acl

查看与设定

e2lable:
e2lable device 查看卷标
e2lable device LABEL 设定卷标

blkid:
blkid device
blkid -L LABEL 根据LABEL定位设备
blkid -U UUID 根据UUID定位设备

dumpe2fs:
dumpe2fs [-h] device 显示ext文件系统属性信息

检测及修复


e2fsck:check a Linux ext2/ext3/ext4 file system
e2fsck [options] device
-y 对所有问题自动回答为yes
-f 即使文件系统处于clean状态,也要强制进行检测

fsck:check and repair a Linux file system
-t fstype:指明文件系统类型
fsck -t ext4 == fsck.ext4
-a 无须交互式而自动修复所有错误
-r 交互式修复

挂载

启用/关闭某swap

swapon
swapon device
swapon -L LABEL
swapoff
swapoff device
swapoff -L LABEL

mount 挂载详解


mount [-nrw] [-t vfstype] [-o options] device dir
命令选项:
-a:将 /etc/fstab 中定义的所有档案系统挂上
-r:readonly 只读挂载
-w:read and write,读写挂载
-n:默认情况挂载卸载操作会同步/etc/mtab文件中;-n用于禁用此特征
-t vfstype:
指明文件系统类型;多数可省,此时mount用blkid判断需挂载设备的文件系统类型
-L LABEL:挂载时以卷标的方式指明设备 # mount -L LABEL dir
-U UUID :挂载时以UUID的方式指明设备 # mount -U UUID dir
-o options:挂载选项
ro:只读
rw:读写
sync/async:同步/异步操作
atime/noatime:文件或目录在被访问时是否更新其时间戳
diratime/nodiratime:目录在被访问时是否更新其访问时间戳
dev/nodev :此设备上是否允许创建设备文件
exec/noexec:是否允许运行此设备上的程序文件
auto/noauto:打开/关闭自动挂上模式
user/nouser:是否允许普通用户挂载此文件系统
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效
remount:重新挂载
acl:支持使用facl功能
# mount -o acl device dir
# tune2fs -o acl device
defaults:rw, suid, dev, exec, auto, nouser, async, relatime.

umount 卸载


umount
umount device|dir

Note:正在被进程访问到的挂载点无法被卸载;

查看被那个或者那些进程所占用;
# lsof MOUNT_POINT
# fuser -v MOUNT_POINT
终止所有正在访问某挂载点的进程;
# fuser -km MOUNT_POINT

两个小命令

df命令:
df [OPTION]... [FILE]...
-l:仅显示本地文件的相关信息;
-h:人性化显示
-i:显示inode的使用状态而非blocks

du命令:
du [OPTION]... [FILE]...
-s:只显示每个参数的总数
-h:人性化显示

实例

1.挂载本地的回环设备:

$ mount -o loop /PATH/TO/SOME_LOOP_FILE   MOUNT_POINT 

2.挂载本地的回环设备:

$ mount --bind olddir newdir

3.CentOS 6如何使用xfs文件系统:

$ yum  -y  install  xfsprogs
创建:mkfs.xfs 
检测:fsck.xfs     

4.ext2不损坏数据的情况下升级ext4

1.检查系统是否支持Ext4模块

$ [ -f /lib/modules/`uname -r`/kernel/fs/ext4/ext4.ko ] && echo OK || echo NO
# (如果能看到"OK"说明支持若不支持自行Google)

2.检查Ext4模块是否挂载

$ lsmod | grep ext4
# (看到ext4则已挂载;若没挂在则执行:modprobe ext4)

3.安装e2fsprogs

$ yum install e2fsprogs -y

4.卸载,转换

$ umount /dev/device
$ tune2fs -O has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/device
# 添加ext4特性

5.修复

$ e2fsck -fDC0 /dev/device

6.挂载

$ mount -t ext4 /dev/device dir

本文由马哥教育技术支持,转载请注明出处。Mr.Chen