[root@linux-node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 252:0 0 20G 0 disk └─vda1 252:1 0 20G 0 part /
输出说明:
NAME: 设备名称
MAJ:MIN: 主设备号和次设备号
RM: 是否为可移动设备
SIZE: 设备大小
RO: 是否为只读设备
TYPE: 设备类型(disk、part等)
MOUNTPOINT: 挂载点
2.3 使用du命令查看目录或文件的容量
du命令用于查看目录或文件占用的磁盘空间。
1 2 3 4 5
# 人性化输出显示大小 du -sh opt
# -s:列出总和 # -h:人性化显示容量信息
du常用选项
选项
功能
示例
-h
人性化显示
du -h /var/log
-s
只显示总和
du -sh /var/log
-a
显示所有文件
du -ah /var/log
--max-depth
指定目录深度
du -h --max-depth=1 /var
du命令示例
1 2 3 4 5 6 7 8 9 10 11
# 查看目录大小 du -sh /var/log
# 查看目录下各子目录大小 du -sh /var/*
# 查看目录深度为1的大小 du -h --max-depth=1 /var
# 查看当前目录总大小 du -sh .
3. 磁盘分区Fdisk
3.1 分区前准备
分区之前, 需要先给虚拟机添加一块磁盘,以便于我们做后续的实验。
VMware虚拟机添加磁盘步骤:
找到对应虚拟主机点击右键, 选择设置
在硬件向导里面点击添加按钮, 在硬件类型中选中”硬盘”, 点击下一步
磁盘类型选择默认, 然后创建新虚拟磁盘, 调整大小(不要勾选立即分配空间)
最后点击下一步, 完成即可
3.2 fdisk使用说明
小于2TB存储磁盘, 可选分区工具fdisk
生产分区建议: 如无特殊需求, 直接使用整个磁盘即可, 无需分区
学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
3.3 fdisk基本操作
1 2 3 4 5
# 查看所有磁盘分区 [root@linux-node1 ~]# fdisk -l
# 对指定磁盘进行分区 [root@linux-node1 ~]# fdisk /dev/sdb
3.4 fdisk常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Command (m forhelp): m # 输入m列出常用的命令
Command action a toggle a bootable flag # 切换分区启动标记 b edit bsd disklabel # 编辑sdb磁盘标签 c toggle the dos compatibility flag # 切换dos兼容模式 d delete a partition # 删除分区 l list known partition types # 显示分区类型 m print this menu # 显示帮助菜单 n add a new partition # 新建分区 o create a new empty DOS partition table # 创建新的空白分区表 p print the partition table # 显示分区表的信息 q quit without saving changes # 不保存退出 s create a new empty Sun disklabel # 创建新的Sun磁盘标签 t change a partition's system id # 修改分区ID,可以通过l查看id u change display/entry units # 修改容量单位,磁柱或扇区 v verify the partition table # 检验分区表 w write table to disk and exit # 保存退出 x extra functionality (experts only) # 拓展功能
3.5 创建主分区
1 2 3 4 5 6 7 8 9
Command (m forhelp): n # 新建分区 Partition type: p primary (0 primary, 0 extended, 4 free) # 主分区 e extended # 扩展分区 Select (default p): p # 选择主分区 Partition number (1-4, default 1): # 默认回车 First sector (2048-2097151, default 2048): # 默认扇区回车 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M # 分配50MB
3.6 创建扩展分区
1 2 3 4 5 6 7 8 9
Command (m forhelp): n # 新建分区 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e # 创建扩展分区 Partition number (2-4, default 2): First sector (104448-2097151, default 104448): Using default value 104448 Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): # 默认划分所有空间给扩展分区
3.7 创建逻辑分区
1 2 3 4 5 6 7 8 9
Command (m forhelp): n # 新建分区 Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): l # 创建逻辑分区 Adding logical partition 5 First sector (106496-2097151, default 106496): Using default value 106496 Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M # 分配100MB空间
3.8 查看分区创建
1 2 3 4 5 6
Command (m forhelp): p
Device Boot Start End Blocks Id System /dev/sdb1 2048 104447 51200 83 Linux /dev/sdb2 104448 2097151 996352 5 Extended /dev/sdb5 106496 311295 102400 83 Linux
3.9 保存分区
1 2 3 4
Command (m forhelp): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
3.10 刷新分区表
1 2 3 4 5 6 7
# 检查磁盘是否是MBR分区方式 [root@linux-node1 ~]# fdisk /dev/sdb -l|grep type Disk label type: dos
Command (? forhelp): n # 创建新分区 Partition number (1-128, default 1): First sector (34-2097118, default = 2048) or {+-}size{KMGTP}: Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: +500M # 分配500M大小
4.4 查看分区
1 2 3 4
Command (? forhelp): p # 打印查看
Number Start (sector) End (sector) Size Code Name 1 2048 1026047 500.0 MiB 8300 Linux filesystem
4.5 保存分区
1 2 3 4
Command (? forhelp): w # 保存分区 Do you want to proceed? (Y/N): y # 确认 OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
4.6 验证GPT格式
1 2 3 4 5 6 7
# 检查磁盘是否是gpt格式 [root@xuliangwei-node1 /]# fdisk /dev/sdb -l|grep type Disk label type: gpt
[root@xuliangwei db1]# umount /db1 umount: /db1: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)
命令(输入 m 获取帮助):l # 列出所有支持的分区类型对应的id 命令(输入 m 获取帮助):t # 修改分区id 分区号 (1-5,默认 5):2 # 修改第2个分区 Hex 代码(输入 L 列出所有代码):82 # 修改成id为82 已将分区"Linux"的类型更改为"Linux swap / Solaris"
命令(输入 m 获取帮助):p 设备 Boot Start End Blocks Id System /dev/vdb1 2048 2099199 1048576 83 Linux /dev/vdb2 2099200 6293503 2097152 82 Linux swap / Solaris # 修改成功
# inode被占满 [root@linux-node1 ~]# touch {1..20000} touch: cannot touch'19997': No space left on device touch: cannot touch'19998': No space left on device touch: cannot touch'19999': No space left on device touch: cannot touch'20000': No space left on device