Linux分区
- 原理介绍
1. Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
2. Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得
(文件目录是一种逻辑结构,为了方便把各种文件分类,但事实上内容并不是存储在这些文件目录里的,因为它不是物理结构,而文件内容要存储在物理地址(实地址)的区域,逻辑地址相当于物理地址的一种映射)
- 挂载mount
硬盘是物理分区,文件系统是逻辑分区,如果说不设置分区,文件系统中,/boot目录、/home目录等目录里的内容在磁盘中随意存放,不按分区存放,那文件系统分的,/boot目录、/home目录等目录就没有意义。磁盘分区之后,再把目录挂载到不同区,每个目录的内容更新删除,都是在其所挂的分区进行。(在/boot目录操作,就相当于在分区3操作)
- 查看所有设备挂载情况
命令:lsblk 或者lsblk -f
lsblk
sda为硬盘,有三个分区 sda1、sda2、sda3 其中sda1挂载在/boot目录
lsblk -f(更详细)
- 硬盘说明
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硬盘的表示方法一样。
挂载经典案例---增加硬盘
步骤:
- 虚拟机添加硬盘
在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!
新硬盘添加后重启虚拟机,然后通过lsblk就能看到新的硬盘 sdb
- 分区
分区命令fdisk /dev/sdb (dev是设备文件,所以把新硬盘关联到dev)
开始对/sdb分区
m显示命令列表
p显示磁盘分区同fdisk -l
n新增分区
d删除分区
w写入并退出
说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q.
n
分区号就是把新磁盘分成几个区,根据需要选择
其余步骤回车默认,最后一步要输入 w (写入分区并退出)否则不会保存更改
- 格式化
分区完成后要格式化给这个分区指定文件类型
格式化后就会给该分区分配一个唯一的不重复的40位的字符串,来表示它的ID号
格式化磁盘
分区命令: mkfs -t ext4 /dev/sdb1
其中ext4是分区类型
- 挂载
挂载:将一个分区与一个目录联系起来,
mount 设备名称 挂载目录
例如:mount /dev/sdb1 /newdisk
umount 设备名称 或者 挂载目录
例如:umount /dev/sdb1 或者umount /newdisk
注意:用命令行挂载重启后会失效
- 设置可自动挂载
永久挂载:通过修改/etc/fstab 实现挂载
添加完成后执行 mount -a即刻生效
1. vim /etc/fstab
2. 添加挂载关系
- 卸载--挂载关系的撤销
指令:umount
umount /dev/sdb1 或者 umount /newdisk
磁盘查询情况
- 查询系统整体磁盘使用情况
基本语法
df -h
查询系统整体磁盘使用情况
- 查询指定目录的磁盘占用情况
基本语法
du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
指定目录的
-s指定目录占用大小汇总
-h带计量单位
-a含文件 (du -ha --max-depth=1 /home 把文件也列出,不加a则列出home下深度为1 的子目录)
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
应用实例
查询/home目录的磁盘占用情况,深度为1
磁盘情况--实用指令
1.统计/opt文件夹下文件的个数
ls -l /home |grep "^-" |wc -l
"^-" 因为文件是以-开头
home下0个文件(并不是home下没东西,只是没文件但有目录,注意区分文件和目录)
2.统计/opt文件夹下目录的个数
ls -l /home |grep "^d" |wc -l
"^d" 因为文件是以d开头
3.统计/opt文件夹下文件的个数,包括子文件夹里的 (递归)
ls -lR /home |grep "^-" |wc -l
R是递归
4.统计/opt文件夹下目录的个数,包括子文件夹里的
ls -lR /home |grep "^d" |wc -l
R是递归
5.以树状显示目录结构(如果没有则需要安装tree指令)
安装tree指令
yum install tree