本文索引:
- df 磁盘空间查看
- 常见参数
- 其他有用参数
- 关于内容的几点说明
- 关于inode号的实例
- du 文件目录大小查看
- 常用参数
- 其他参数(有用)
- 易错知识点
- fdisk磁盘分区
- 查看分区
- 划分分区
- 常用操作
df 命令
查看系统磁盘空间使用情况
常用参数
- -h (human-readble)
# 人性化的为空间大小转换单位显示[root@centos7 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda3 16G 1.3G 15G 8% /devtmpfs 479M 0 479M 0% /devtmpfs 489M 0 489M 0% /dev/shmtmpfs 489M 6.7M 482M 2% /runtmpfs 489M 0 489M 0% /sys/fs/cgroup/dev/sda1 197M 136M 62M 69% /boottmpfs 98M 0 98M 0% /run/user/0
- -i 显示inode号信息
# 按分区inode号信息(总共/已用/可用)显示[root@centos7 ~]# df -i文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点/dev/sda3 8285696 32740 8252956 1% /devtmpfs 122491 377 122114 1% /devtmpfs 124965 1 124964 1% /dev/shmtmpfs 124965 450 124515 1% /runtmpfs 124965 16 124949 1% /sys/fs/cgroup/dev/sda1 102400 338 102062 1% /boottmpfs 124965 1 124964 1% /run/user/0
其他有用参数
- -t TYPE 按文件系统类型来区分
# 可以使用-T参数来查看系统内的文件系统类型[root@localhost ~]# df -T文件系统 类型 1K-块 已用 可用 已用% 挂载点/dev/sda3 xfs 18658304 1092332 17565972 6% /devtmpfs devtmpfs 490168 0 490168 0% /devtmpfs tmpfs 499968 0 499968 0% /dev/shmtmpfs tmpfs 499968 6840 493128 2% /runtmpfs tmpfs 499968 0 499968 0% /sys/fs/cgroup/dev/sda1 xfs 201380 111392 89988 56% /boottmpfs tmpfs 99996 0 99996 0% /run/user/0[root@localhost ~]# df -t xfs文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda3 18658304 1092332 17565972 6% //dev/sda1 201380 111392 89988 56% /boot
- -x TYPE 不显示TYPE类型的文件系统
[root@localhost ~]# df -x tmpfs文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda3 18658304 1092332 17565972 6% /devtmpfs 490168 0 490168 0% /dev/dev/sda1 201380 111392 89988 56% /boot
关于内容的几点说明
-
文件系统:带tmpfs的是临时的文件系统,在这些分区中写的数据,重启后将消失!
-
已用(百分比):当百分比很高时,管理员就需要注意了,分析原因后就可以去进行新增磁盘或清除缓存数据的操作。
-
挂载点:分区挂载的目录。/dev/shm表示内存,其读写速率较其他分区要快。
关于inode号的实例
有些时候,会发现有些分区无法写入数据,使用df命令查看磁盘空间,发现该分区还有部分空间,究其原因就是:
该分区的inode号已经全部分配使用掉了!!(一个分区的inode号数量是固定的)
du 命令
估算文件的空间使用情况
常用参数
- 不加参数(不推荐)
# 不加参数,不仅会显示目录的大小,同时也会将目录下的子目录、子子目录的大小都显示出来;# 其默认单位为KB[root@localhost ~]# du /root8 /root/.ssh68 /root
- -h 人性化显示(推荐使用)
# 加上-h参数,显示单位[root@localhost ~]# du -h /root8.0K /root/.ssh68K /root
- -s 只显示总的,不显示目录内部子目录
# 再加上-s参数,只显示当前目录的总大小,目录下的子目录不显示[root@centos7 ~]# du -sh /root52K /root
其他参数(有用)
- -d Num 指定显示子目录的层数
# -d Num 只显示目录的几层[root@localhost ~]# du -d 1 -h /usr56M /usr/bin37M /usr/sbin422M /usr/lib155M /usr/lib64217M /usr/share0 /usr/etc0 /usr/games36K /usr/include12M /usr/libexec0 /usr/local0 /usr/src897M /usr
- -b 以字节为单位显示
[root@localhost ~]# du -sh /tmp8.0K /tmp[root@localhost ~]# du -sb /tmp1167 /tmp
关于文件目录大小
使用du命令显示文件/目录的大小跟使用ls命令显示的大小会有点不同。
- du命令是以块(block)为计算基础的,即便某个块内数据未写满也会被计算;
- ls命令是以字节为默认计算基础的
所以一般的du命令显示的大小会大于等于ls命令显示的大小!!
# du显示/etc/passwd文件大小为4k[root@localhost ~]# du /etc/passwd4 /etc/passwd# ls则显示为1.2K[root@localhost ~]# ls -lh /etc/passwd-rw-r--r--. 1 root root 1.2K 10月 23 20:22 /etc/passwd
磁盘分区 fdisk命令
在这里我们使用虚拟机添加一块10G的新磁盘/dev/sdb作为测试(物理机支持硬盘热插拔;虚拟机上点击设置,添加硬盘,重启机器后识别。)
查看分区
识别系统内的磁盘及分区并显示
[root@localhost ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x00090c65 设备 Boot Start End Blocks Id System/dev/sda1 * 2048 411647 204800 83 Linux/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris/dev/sda3 4605952 41943039 18668544 83 Linux磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节
划分分区
fdisk + 磁盘名(这里是/dev/sdb)
[root@localhost ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。Device does not contain a recognized partition table使用磁盘标识符 0x2d5540bc 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):
fdisk命令的不足(MBR分区格式):做大磁盘操作容量2T,最多4个主分区
常用操作
操作过程中如果误操作,使用ctrl + u 快捷键撤销
- m 获取帮助
命令(输入 m 获取帮助):m命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table....
- n 创建新分区
命令输错使用ctrl+u重新输入
- p 主分区 (最多4个主分区,设置了4个无法创建扩展分区)
命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): p分区号 (1-4,默认 1):1起始 扇区 (2048-20971519,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G分区 1 已设置为 Linux 类型,大小设为 2 GiB
- e 扩展分区(主分区和扩展分区数之和小于等于4)
命令(输入 m 获取帮助):nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): e分区号 (2-4,默认 2):2起始 扇区 (4196352-20971519,默认为 4196352):将使用默认值 4196352Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G分区 2 已设置为 Extended 类型,大小设为 2 GiB
- l 逻辑分区
创建逻辑分区的前提是不能分配4个主分区,且最少要有一个扩展分区。
逻辑分区号从5开始,而且是连续的。
逻辑分区空间实质上是从扩展分区内分出的,其大小无法超过扩展分区的大小。此外扩展分区上不能存取数据,其所占用的空间实质上是逻辑分区所占用的。
命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 1 extended, 3 free) l logical (numbered from 5)Select (default p): l添加逻辑分区 5起始 扇区 (4096-12584959,默认为 4096):将使用默认值 4096Last 扇区, +扇区 or +size{K,M,G} (4096-12584959,默认为 12584959):+1G分区 5 已设置为 Linux 类型,大小设为 1 GiB
- t 分区类型
t参数常用的类型 8e Linux LVM82 swap分区83 Linux(主分区、逻辑分区)5 Extended(扩展分区)命令(输入 m 获取帮助):t分区号 (1,2,默认 2):1Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM”
- p 打印分区情况
命令(输入 m 获取帮助):p磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xccb93a53 设备 Boot Start End Blocks Id System/dev/sdb1 2048 4196351 2097152 0 Empty/dev/sdb2 2048 4196351 2097152 5 Extended
- d 删除分区
命令(输入 m 获取帮助):d分区号 (1,2,默认 2):2分区 2 已删除
- w 保存分区操作至磁盘(非常重要!! 不执行无法保存修改退出,之前操作白做)
命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。
- q 直接退出,忽略修改