df命令 汇报磁盘空间使用情况
# df
第一列:磁盘分区名称
第二列:空间容量
第三列:已使用量
第四列:可用空间
第五列:已用百分比
第六列:挂载点(系统目录)
linux的磁盘不可直接访问,可以通过挂载点
# df -h “-h”可适当的显示大小单位
Byte 字节 1024b=1kb 1024kb=1m 1024m=1g 1024g=1t …
除/ /boot /run… tmpfs为临时文件,在此挂载点目录内保存的文件重启系统后都会被删除
/dev/shm 为内存容量为物理内存的一半
/run
# free 查看swap
# df -I 查看分区下有多少inod inod情况
如遇见磁盘空间有生育但是无法写入东西的情况,可以使用df -I 命令查看inod使用情况
# df -m 以M为单位显示
4.2 du 命令
du 使用来查看一个文件大小的
# du -sh/root
# du -sh/boot
# du -sh //etc/passwd
# ls -lh/etc/passwd 查看到的文件大小是1.3k,(每个块只能有一个文件)
# du /etc/passwd# du/root/ 不加-sh,不详细,默认k为单位
# du -s /root/
4.3 4.4 磁盘分区
# fdisk
# fdisk -l
可以把使用中的磁盘列出来
只有一块盘,要识别新增加的磁盘,需要重启
# reboot
因为增加磁盘的关系,导致重启过程比较慢
可以识别到新增加的硬盘
# fdisk /dev/sdb微信增加的磁盘分区(某些云主机的为xdb)
m获取帮助
常用:n 增加一个新的分区
p 列出
w 保存
d 删除
p
n 选择分区类型
p 主分区 e扩展分区
fdisk分区为mbr分区 不能超过2Tb 追最多只能分四个主分区,如果想要多个主分区,可以划分三个主分区,剩余一个为扩展分区(e),扩展分区内可划分逻辑分区,逻辑分区可分更多
公式:主分区加扩展分区不大于四
选择p分一个主分区,选择一个分区号,默认为1,选择扇区,默认2048,+2G
3主分区创建完成
创建四个分区后即无法创建主分区
d 删掉一个主分区
n>e 创建一个扩展分区
(ctrl+u清空字符)
id项下83为linux分区也就是主分区 5为扩展分区
已有四分区的情况下,再次n创建分区,就只能添加逻辑分区
发现显示的类型为linux主分区,实为逻辑分区
这时候删掉主分区sdb1
再删掉一个逻辑分区sdb5
依然有一个sdb5,,这个分区是之前存在的逻辑分区sdb6,分区号是连续不能留空的
q 不保存并退出
这次首先创建一个扩展分区sdb1
在创建一个分区
发现提示e变为l(逻辑分区)
p 创建一个主分区sdb3
在存在一个扩展分区,一个逻辑分区的情况下,再创建一个逻辑分区:
n>l
p 查看分区
发现sdb号位135 逻辑分区一定是在第五个区号开始创建的,前四个分区号留给主分区或者扩展分区,并且是连续的
w 保存退出
真正占用空间的是扩展分区里面的逻辑分区,扩展分区不占空间
4.5 磁盘格式化
# cat /etc/filesystems为centos7所支持的文件格式
xfs是centos7系统默认文件系统
# mount 查看一个分区的文件系统
其中/dev/sda3 行 为xfs格式以及/ boot (centos 6为ext4 5为ext3….)
# mke2fs格式化一个分区
# mke2fs-t 指定要格式化成什么文件系统
# mke2fs-t ext4 指定格式化成ext4格式文件系统
# mke2fs-t xfs 指定格式化成xfs格式文件系统
# make2fs-t xfs -b指定块大小 (如一个文件小于块大小,,那么也占用一个块,所以du -sh/etc/passwd显示的是块大小,ls -l为实际文件大小)
# make2fs-t xfs -b
找到一个大小为零的文件
#du -sh 3.txt大小为零
写入一个2字节的字符到这个文件下,# du -sh 查看为占用的块大小
# du -sb查看到的文件大小与# ls -lh一样
# mke2fs-t xfs -b 2048 /dev/sdb1 指定格式为xfs块大小为2048
提示失败,,此命令不支持格式化为xfs格式
# mkfs.exte2fs -t xfs-b 2048 /dev/sdb1 指定格式为xfs块大小为2048
#mkfs.ext4
#mkfs.ext4与mke2fs-t ext4 命令一样
# mkfs.xfs/etc/dev/sdb1
提示已经有文件系统,再次格式化就会提醒
mkfs.xfs 可以格式化为xfs格式
# mkfs.xfs -f/etc/dev/sdb1 强制格式化分区为xfs格式
格式化完毕,但是# mount 是看不到/dev/sdb1/的,,因为还没有被挂载到挂在点上
# blk id /de/sdb1看一个还没有挂载的分区
# mke2fs-b 8192 /bev/sdb1 指定块大小,提示块较大
y继续
如果系统存很多较大的文件时可能会用到8192或更大的块(视频,高清图片…)读写速度会更快一些,如果都是些4k或更小的文件,就最好创建小块,可默认
# mke2fs-m /dev/sdb1指定这个分区的预留空间大小
默认预留空间5%
# mke2fs-m 0.1 /dev/sdb1
# blkid 查看没有指定系统文件格式的情况下为ext2
# blkid/dev/sdb1
# mkfs.xfs 命令不支持 指定块大小 ext格式则支持
# mke2fs-t ext4 /dev/sdb1 查看inod数量,块数量
# mke2fs-i指定对应inod的字节数
# mke2fs-i 8192 -t ext4 /dev/sdb1
inod变双倍
4.7 4.8 磁盘挂载
磁盘不分区,直接格式化
# mkfs.xfsdev/sdb
提示还存在分区表,格式化会有风险,所以用
# mkfs.xfs-f /dev/sdb
格式化完成
查看文件系统格式
# blkid /dev/sdb
为 xfs格式
有没有分区都可以格式化,只有格式化才可以挂载文件系统
# mount/dev/sdb/mnt/
将/dev/sdb挂载到mnt目录下
卸载磁盘
# umount/dev/sdb
提示目标忙,因为正在访问此磁盘
# cd 退出此目录
再次删除即可
# mount -l/mnt/ 直接卸载(在此目录也可以)
# mount -o 加权限
# mount -o(rw可读可写)(ro 只读)
# mount -oremount 重新挂载
较常用法:
# vi /etc/fstab fstab配置文件
系统启动挂载分区以及磁盘,可在此配置
第一列 设备号 (可以写成/dev/sdb)
第二列 挂载点
第三列 分区格式
第四列 挂载选项
第五列 是否备份文件系统 1备份
第六列 设置优先级(检测)1 高级别检测 2检测
用uuid 也可以完成挂载
UUID也可以写到 dev/sdb配置文件里去
4.9 手动增加swap空间
手动增加swap
首先创建一个虚拟磁盘
# dd 命令可以操作磁盘
# dd if=/dev/zeroof=/tmp/newdisk bs=1M count=100
if 指定读取路径
of 0写入路径
bs 指定块大小
count newdisk大小 1M*100=100M
# du -sh /tmp/newdisk查看newdisk大小
# mkswap-f /tmp/newdisk格式化这个虚拟磁盘
# awapon/tmp/newdisk 把这个虚拟磁盘加载到实际swap上去
提示此时的权限不安全,但是实际还是挂载成功
# chmod 0600/tmp/newdisk 更改权限为0600
# swapoff/tmp/newdisk卸载掉此文件
swap恢复原大小
# rm -f /tmp/newdisk可以删掉此文件
4.9 4.10 4.11 lvm讲解
4.13 磁盘故障小案例
重启无法进入系统,显示此页面,往往是因为磁盘挂载出现问题
中文在vmware终端下不显示
此提示是输入root密码,输入journalctl -xb 查看具体错误信息
输入root密码就可进入
# vi /etc/fstab按dd两下删除mnt一行 :wq退出
# reboot重启系统,恢复正常