Linux磁盘分区原理
Linux采用了一种挂载的机制,它的整个文件系统中包含了一整套的文件和目录,且将一个分区
和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得,也就是将一个分区挂载到一个目录下后,进入该目录便是进入了该分区
(sd开头代表着scsi硬盘sdx~中的x为盘号(abcd)~为分区数)
第一块盘的第一个分区sda1 第二块盘的第二个分区sdb2
查看所有设备挂载情况lsblk
lsblk
查看当前分区 lsblk -f
详细查看
如图,sda1挂载到/boot下,sda2挂载到swap交换分区内,sda3挂载到/目录下
增加硬盘,新增分区和挂载
现在我在根目录下创建一个文件夹/newdisk,我要创建一个硬盘sdb,增加一个分区sdb1并把
sdb1挂载到/newdisk中
-
虚拟机增加一块硬盘:先打开虚拟机的设置.点击添加一块硬盘,这样我们就创建了1GB的硬盘
-
添加后用lsblk看一下,是看不到的,因为需要reboot才能识别,在重启之后成功看到sdb
-
给我们新增的硬盘sdb新增一个分区sdb1
分区命令fdisk
对sdb进行分区 fdisk /dev/sdb
因为/dev是设备文件夹,所有的硬件都在/dev下
注意:进入fdisk之后输入n新增分区,之后开始选择分区类型,分区数量,最后要记得输入w写入分区,不然不保存
增加新分区后再用lsblk来查看挂载情况,可以看到显示sdb1分区,但是没有挂载
-
分区增加后,要进行格式化分区,格式化之后,才会分配UUID
格式化磁盘分区指令
mkfs -t ext4 /dev/sdb1
其中ext4是分区类型,注意:在格式化时是格式化分完区的分区sdb1,而不是磁盘
-
最后一步,把sdb1分区挂载到/newdisk下
挂载指令mount
mount 分区位置 目标挂载目录
mount /dev/sdb1 /newdisk
成功挂载,以后在/newdisk下写入文件,文件就会存放到sdb1分区1
卸载挂载指令unmount
用法unmount 设备名称或挂载目录
实际:unmount /dev/sdb1
或者unmount /newdisk
注意:用命令行挂载的方式重启以后会失效
修改/etc/fstab实现永久挂载
通过修改/etc/fstab实现永久挂载
添加完成后.执行mount -a即刻生效(或者reboot)
进去之后,使用yy+p复制一行挂载内容并粘贴,将UUID改成分区名/dev/sdb1,写入挂载目录/newdisk,修改分区类型ext4,保存退出之后用mount -a
即刻生效,实现永久挂载
查询系统磁盘使用情况df -h
df -h
如果使用率达到80%以上,则不正常了需要清理一下磁盘空间
指定目录的磁盘占用情况du -h
du -h 目录
查询指定目录的磁盘占用情况,默认为当前目录
查询/usr目录的磁盘占用情况,深度为1(只统计目录)
du -h --max-depth=1 /usr
如果统计目录和文件,就是
du -ha --max-depth=1 /usr
磁盘分区常用指令
统计文件和目录个数
grep "^-" 目录
查找该目录下的文件l
-
统计/opt目录下文件的个数
ls -l /opt | grep "^-" | wc -l
wc -l用于统计ls -l列出的文件数
-
统计/opt目录下目录的个数
ls -l /opt | grep "^d" | wc -l
(修改过滤条件)
-
统计/opt目录下文件的个数,包括文件夹里的(递归往下找出所有的个数)
ls -lR /opt | grep "^-" | wc -l
ls -lR用于递归查看所有的文件和目录
-
统计/opt目录下文件夹的个数,包括文件夹里的
ls -lR /opt | grep "^d" | wc -l
以树状显示目录结构tree
-
以树状显示目录结构
tree /
默认情况没有安装tree 如果没有,用yum install tree