磁盘相关命令
一、查看硬盘信息相关命令
df 命令只能显示系统已经挂载的硬盘
lsblk 查看块设备。
不带参数时会列出所有硬盘,根节点代表硬盘,二级节点代表磁盘上的分区。使用 -d 选项只列出硬盘,不列出分区信息
1
2
3
4
5
6
7
8NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
├─sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 487M 0 part
├─sda7 8:7 0 108.2G 0 part
└─sda8 8:8 0 95.4G 0 part /
sdc 8:32 0 931.5G 0 disk
├─sdc1 8:33 0 46.6G 0 part
└─sdc2 8:34 0 885G 0 part /datalshw
可以打印硬件的详细信息blkid 可以打印块设备的一些信息
1
2
3/dev/sda1: UUID="a46515d1-f18a-411f-bca1-d6facca7f462" TYPE="ext4" PARTUUID="3af33866-01"
/dev/sda5: UUID="ea9852c9-e752-4f3f-852b-5486d6fbca18" TYPE="swap" PARTUUID="3af33866-05"
/dev/sda6: UUID="a4ed37e3-174b-4e2a-9840-c921274fa686" TYPE="ext4" PARTUUID="3af33866-06"fdisk 用来格式化硬盘、分区等的常用的分区表操纵工具,也可以使用 -l 选项打印硬盘信息
二、添加新磁盘分区并挂载
查看磁盘名字
1
2
3# lsblk
sdb 8:16 0 238.5G 0 disk
└─sdb1 8:17 0 238.5G 0 part /data2创建一个新分区
1
2
3
4
5
6# fdisk /dev/sdb
可以输入 m 获取帮助
命令 n 可以添加一个新分区
命令 p 可以打印分区的一些信息
命令 w 可以保存设置并退出
然后可以通过 lsblk 查看磁盘分区情况对分区进行格式化
1
2
3
4
5
6
7
8
9# parted -l // 查看磁盘分区的文件系统格式
Model: ATA WDC WD10EZEX-08W (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 50.0GB 50.0GB primary ext4
2 50.0GB 1000GB 950GB primary ext41
2# mkfs.xfs /dev/sdc1 // 将磁盘分区 /dev/sdc1 格式化成 xfs
# mkfs.ext4 /dev/sdc2 // 将磁盘分区 /dev/sdc2 格式化成 ext4把分区挂载到一个目录
1
2
3# mkdir /data
# mount /dev/sdb1 /data // 挂载到 /data 目录下
# lsblk // 使用 lsblk 查看设置永久挂载
1
2
3
4# blkid /dev/sdb1 // 获取这个磁盘分区的 UUID
# vi /etc/fstab // 将挂载点写入开机启动
# 设置系统自动挂载磁盘,格式如下,加入一行
UUID=be7c41c7-d034-4cab-9940-b152de375162 /data xfs defaults 0 0如果不想使用了,可以卸载目录,必须在待卸载目录以外的地方使用 umount 命令进行卸载
1
umount /data # 卸载 /data 目录
三、分区相关知识点
一个硬盘可以有1到3个主分区和1个扩展分区,也可以只有主分区而没有扩展分区,但主分区必须至少有1个,扩展分区则最多只有1个,且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。
创建分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[root@freeman ~]# fdisk /dev/sdb
Command (m for help): n <- 新建分区
Command action <- 选择要创建的分区类型
e extended <- 扩展分区
p primary partition (1-4) <- 主分区
p <- 输入建立主分区
Partition number (1-4):1 <- 分区编号
First cylinder (1-652, default 1): <- 柱面起始值,直接回车默认
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G <-分区大小
Command (m for help): w <- 保存分区表, 完毕会退出fdisk命令
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.删除分区。(可以先 umount 卸载分区,以免出现不必要的问题)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31[root@freeman ~]# fdisk /dev/sdb <-进入sdb硬盘
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p <- 输入p打印当前硬盘的分区信息
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcca98924
Device Boot Start End Blocks Id System
/dev/sdb1 1 523 4200966 83 Linux
/dev/sdb2 524 537 112455 83 Linux
/dev/sdb3 538 563 208845 5 Extended
/dev/sdb5 538 563 208813+ 83 Linux
/dev/sdb6 409 422 112423+ 83 Linux
Command (m for help): d <- 输入d删除分区
Partition number (1-5): <- 输入要删除的分区编号
...
Command (m for help): w <- 分区删除完毕,输入w,写入磁盘分区表
The partition table has been altered!
...
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)如果要删除一个磁盘所有分区,更简单的做法就是格式化磁盘
1
2
3
4[root@freeman /]# mkfs.ext4 /dev/sdb
mke2fs 1.41.12 (17-May-2010)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y