1、总结整理磁盘管理及文件系统管理中设计的各种命令的使用,并附注一定的示例;
涉及常用命令:
fdisk,parted,mkfs,mke2fs,blkid,e2label,fsck,e2fsck,mount,free,mkswap,swapon,swapoff,df,du
fdisk
分区管理子命令:
p: 显示
n: 创建
d: 删除
t: 修改分区ID
l: 列出所有支持ID类型
w: 保存退出
q: 放弃修改并退出
m: 获取帮助
partx命令:
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
M
M:
:N
创建工具:mkfs (make filesystem)
mkfs -t type DEVICE
实例:
mkfs -t ext3 /dev/sda5
ext系列文件系统的专用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096
-L 'LABEL': 设定卷标
实例:
mke2fs -t -b 2048k -L 'TEST' ext3 /dev/sda5
blkid命令:查看分区信息
blkid DEVICE
LABEL, UUID, TYPE
实例:
blkid /dev/vda2/dev/vda2: UUID="2qmMdG-5cM8-tWmk-jR5o-m2kI-STW5-8z8I6w" TYPE="LVM2_member"
e2label:修改卷标,(设备后跟LABEL名称为修改,不跟是查看设备信息)
e2lable DEVICE [LABEL]
实例:
[root@os01 ~]# e2label /dev/sda1 TEST[root@os01 ~]# e2label /dev/sda1 "NEW_TEST"[root@os01 ~]# e2label /dev/sda1 NEW_TEST
fsck: Filesystem check
fsck -t type
fsck.type
-a: 自动修复错误
-r: 交互式修复错误
-f: 强制检测
e2fsck:ext系列文件系统专用的检测修复工具;
-y: 自动回答为“yes”
-f:force
mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;
mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;
mount [options] [-o options] DEVICE MOUNT_POINT
[options]:命令选项
[-o options]:挂载选项
DEVICE: 要挂载的设备
(1) 设备文件:/dev/sda5
(2) 卷标:-L 'LABEL'
(3) UUID:-U 'UUID'
(4) 伪文件系统名称
MOUNT_POINT: 挂载点
常用选项:
-t type:文件系统类型
-r: 以“只读”方式挂载此文件系统
-w: 以“读写”方式挂载此文件系统
-n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;
此时,如果想查看挂载的所有文件系统:cat /proc/mounts
-a: 自动挂载所有支持自动挂载的设备;
-B:绑定目录至另一个目录上;
-o 挂载选项:
async:异步模式
sync: 同步模式
atime/noatime:是否更新访问时间戳;
diratime/nodiratime:是否更新目录的访问时间戳;
auto/noauto: 是否允许此设备被自动挂载;
exec/noexec:是否允许执行此文件系统上应用程序;
dev/nodev:是否支持在此设备上使用设备文件;
suid/nosuid:
remount:重新挂载
ro
rw
user/nouser: 是否允许普通挂载此设备;
acl:是否支持此设备上使用facl;
defaults:rw, suid, dev, exec, auto, nouser, and async
umount:卸载命令
# umount DEVICE
# umount MOUNT_POINT
查看正在访问指定挂载点的进程:
# fuser -v MOUNT_POINT
终止所有正在访问指定的挂载点的进程:
# fuser -km MOUNT_POINT
free命令:
查看memory和swap的使用状态
-m: 以MB为单位
-g: 以GB为单位
实例:
[root@os01 ~]# free -m total used free shared buff/cache availableMem: 969 436 139 9 393 370Swap: 4863 239 4624
交换分区:
mkswap:创建交换分区
mkswap [option] DEVICE
-L 'LABEL'
swapon:启用交换分区
swapon [option] [DEVICE]
-a: 激活所有交换分区
-p PRIORITY: 设定其优先级;
swapoff:禁用交换分区
swapoff [option] [DEVICE]
实例:
[root@os01 ~]# mkswap -L "S01" /dev/sda2 Setting up swapspace version 1, size = 2097148 KiBLABEL=S01, UUID=66b21e40-7f09-4c38-b62a-1d25e0bbe137[root@os01 ~]# swapon -p -2 /dev/sda2[root@os01 ~]# swapon -sFilename Type Size Used Priority/dev/vda3 partition 4980732 245300 -1/dev/sda2 partition 2097148 0 -2[root@os01 ~]# swapoff /dev/sda2
df: disk free
-h: human-readable
-i: inode数量
-P: 以Posix兼容的格式输出
实例:
[root@os01 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda2 45G 3.8G 41G 9% /devtmpfs 476M 0 476M 0% /devtmpfs 485M 84K 485M 1% /dev/shmtmpfs 485M 13M 472M 3% /runtmpfs 485M 0 485M 0% /sys/fs/cgroup/dev/vda1 297M 111M 187M 38% /boot
du: disk usage
-h: human-readable
-s: summary
实例:[root@os01 ~]# du -sh /etc/28M /etc/
2、创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录
1)创建分区fdisk -lDisk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors #50G硬盘1/dev/vdaUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000bb195 Device Boot Start End Blocks Id System/dev/vda1 * 2048 616447 307200 83 Linux/dev/vda2 616448 94486527 46935040 83 Linux/dev/vda3 94486528 104447999 4980736 82 Linux swap / SolarisDisk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors #100G硬盘2/dev/sdaUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes fdisk /dev/sda #操作第二块没有分区的新硬盘Command (m for help): p #查看分区信息Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x34165aa2 Device Boot Start End Blocks Id System #硬盘没有分区Command (m for help): n #新建分区Partition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): p #主分区Partition number (1-4, default 1): #回车默认为分区1First sector (2048-209715199, default 2048): #回车默认从高2048开始Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +10G #创建为10G大小Partition 1 of type Linux and of size 10 GiB is set Command (m for help): p #查看,下面出现了/dev/sda1证明创建成功Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x34165aa2 Device Boot Start End Blocks Id System/dev/sda1 2048 20973567 10485760 83 LinuxCommand (m for help): w #保存退出The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.2,格式化分区[root@os01 ~]# mke2fs -t ext4 -L 'TEST01' -b 2048 /dev/sda1 #格式化分区/dev/sda1文件系统为ext4 卷标为TEST01 块大小为2048mke2fs 1.42.9 (28-Dec-2013)Filesystem label=TEST01OS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)Stride=0 blocks, Stripe width=0 blocks655360 inodes, 5242880 blocks262144 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=273678336320 block groups16384 blocks per group, 16384 fragments per group2048 inodes per groupSuperblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000, 3981312 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done [root@os01 ~]# blkid /dev/sda1 #查看/dev/sda1/dev/sda1: LABEL="TEST01" UUID="242dca5e-7909-407c-ba25-eabb763d5f53" TYPE="ext4"3)挂载/dev/sda1到/sda1_point[root@os01 ~]# mkdir /mydata[root@os01 ~]# mount /dev/sda1 /mydata[root@os01 ~]# mount #查看挂载是否成功(最后一行显示成功挂载),这样挂载在重启后将失效,重启后仍然挂载需要下一步的永久挂载proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)devtmpfs on /dev type devtmpfs (rw,nosuid,size=487312k,nr_inodes=121828,mode=755)....../dev/sda1 on /sda1_point type ext4 (rw,relatime,data=ordered)4)永久挂载[root@os01 ~]# vim /etc/fstab #添加最后一行# /etc/fstab# Created by anaconda on Thu Aug 20 01:14:29 2015## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#UUID=a082897a-e1a4-4c7b-81f8-56b9f250cf60 / xfs defaults 0 0UUID=046de458-2504-44dd-8d78-b9ac85dd3fa1 /boot xfs defaults 0 0UUID=5341f7ce-4821-490d-936e-f3118fdc7b44 swap swap defaults 0 0UUID=242dca5e-7909-407c-ba25-eabb763d5f53 /mydata ext4 defaults 0 0[root@os01 ~]# mount -a #挂载fstab内可以允许自动挂载的设备/dev/sda1 9.8G 13M 9.3G 1% /sda1_point[root@os01 ~]# df -h #-h以M为单位列出磁盘信息Filesystem Size Used Avail Use% Mounted on/dev/vda2 45G 3.8G 41G 9% /devtmpfs 476M 0 476M 0% /devtmpfs 485M 84K 485M 1% /dev/shmtmpfs 485M 6.9M 478M 2% /runtmpfs 485M 0 485M 0% /sys/fs/cgroup/dev/vda1 297M 111M 187M 38% /boot/dev/sda1 9.8G 13M 9.3G 1% /mydata #挂载成功5)卸载分区umount /mydata ##注意:如果卸载出现如下信息,证明这个挂载的目录正在被用户使用[root@os01 mydata]# umount /dev/sda1 umount: /mydata: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))[root@os01 ~]# fuser -v /mydata/ #查看正在使用的用户,发现user01正在使用这个目录 USER PID ACCESS COMMAND/mydata: root kernel mount /mydata user01 3346 ..c.. bash [root@os01 ~]# fuser -km /mydata/ #终止所有正在使用该目录的用户 /mydata: 3346c [root@os01 ~]# umount /mydata #卸载成功