一、linux分区
1、原理介绍:
(1)对linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分;
(2)linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来(进入哪个目录,访问对应的分区)。这时要载入的一个分区将使它的存储空间在一个目录下获得;
# 查看所有设备挂载情况
lablk 或者 lsblk -f
2、硬盘说明:
(1)linux硬盘分为IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘;
(2)对于IDE硬盘,驱动器标识符为“hdx~”,其中,hd表明分区所在设备的类型,这里是指IDE硬盘了。x为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘), ~表示分区,前四个分区用数字1-4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区;
(3)对于SCSI硬盘则表示为sdx~,SCSI硬盘是用sd表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样;
3、挂载的经典案例
以增加一块硬盘为例来熟悉下磁盘的相关指令和深入理解磁盘分区、挂载、卸载的概念
如何增加一块硬盘
1)虚拟机添加硬盘
2)分区
fdisk /dev/sdb
# 开始对/sdb分区
m 显示命令列表
p 显示磁盘分区 同fdisk -l
n 新增分区
d 删除分区
w 写入并保存
# 说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区,两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q
3)格式化
分区命令:mkfs -t ext4 /dev/sdb1
其中ext4是分区类型
4)挂载
挂载:将一个分区和一个目录联系起来
mount 设备名称 挂载目录
例如: mount /dev/sdb1 /newdisk
umount 设备名称 或者 挂载目录
例如:umount /dev/sdb1 或者 umount /newdisk
# 根目录
cd /
mkdir newdisk
mount /dev/sdb1 /newdisk
cd newdisk
touch my.cat # 在分区下创建了文件
注意:用命令行挂载重启后会失效
5)设置可以自动挂载
永久挂载:通过修改**/etc/fstab**实现挂载,添加完成后执行mount -a即刻生效
vim /etc/fstab
# 修改文件
/dev/sdb1 /newdisk ext4 defaults 0 0
# 保存退出,并重启,挂载关系还在
二、磁盘情况查询
- 查询系统整体磁盘使用情况
1、基本语法: df -h
磁盘使用率超过80%就需要清理或者增加硬盘
2、查询指定目录的磁盘占用情况,默认为当前目录
du -h /目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
例如:查询/opt目录的磁盘占用情况,深度为1
# 只有目录
du -h --max-depth=1 /opt
# 带文件
du -hac --max-depth=1 /opt
- 工作实用指令
1、统计/opt目录下文件的个数
# 只grep普通文件
ls -l /opt | grep "^-"
# 统计普通文件的数量
ls -l /opt | grep "^-" | wc -l
# output:3
2、统计opt目录下目录的个数
ls -l /opt | grep "^d" | wc -l
# output:5
3、统计opt目录下文件的个数,包括子文件夹里面的
ls -lR /opt | grep "^-" | wc -l
# output:1564
4、统计/opt目录下目录的个数,包括子文件夹里面的
ls -lR /opt | grep "^d" | wc -l
5、以树状显示目录结构
tree /home/
# 默认情况下是没有安装tree的
yum install tree