- 一、实验环境的搭建
- (1)、搭建过程
- 二、设备的识别和查看
- (1)、设备的识别
- (2)、查看设备的方式
- 三、设备的挂载
- (1)、临时挂载命令
- (2)、设备只读挂载测试
- (3)、永久挂载
- (4)、取消挂载时遇见设备正忙的情况解决办法
- 三、文件的查找
- (1)、find查找基本命令
- (2)、建立实验实验环境,并测试
- 四、磁盘分区方式
- (1)、磁盘分区
- (2)、简图
- (3)、基本命令
- 四、具体分区操作
- (1)、基本操作
- (2)、MBR分区(默认使用方式)
- (3)、GPT分区方式
- 五、文件系统管理(格式化文件并永久挂载)
- (1)、基本原理
- (2)、挂载测试
- (3)、永久挂载
- 六、SWAP分区
- (1)、分区建议如下
- (2)、基本命令
- (2)、分区操作如下
- 七、磁盘配额
- (1)、磁盘配额的意义
- (2)、操作步骤
一、实验环境的搭建
(1)、搭建过程
1.在真实主机创建一块10G的动态硬盘(可以随着使用而占用硬盘大小)
qemu-img create -f qcow2 ck.qcow2 10G -o lazy_refcounts=off
2.在虚拟机里将这块磁盘添加进去
3.查看目前的磁盘
fdisk -l
二、设备的识别和查看
(1)、设备的识别
设备名称 | 显示方式 |
SATA/SAS/USB(硬盘) | /dev/sda,/dev/sdb ###s=SATA.d=DISK,a=第几块硬盘 |
IDE(硬盘) | /dev/hd0,/dev/hd1 ##h= hard |
VIRTIO-BLOCK(硬盘) | /dev/vda,/dev/vdb ##v=virtio |
M2(SSD) | /dev/nvme0,/dev/nvme1 ##nvme=m2 |
光驱 | /dev/cdrom,/dev/sr0,/dev/sr1 |
(2)、查看设备的方式
命令 | 功能 |
fdisk -l | 查看磁盘分区情况 |
lsblk | 设备使用情况 |
blkid | 设备管理方式及设备id |
df | 查看正在被系统挂载的设备 |
cat /proc/partitions | 查看系统识别设备 |
mount | 查看具体的挂载内容(格式,挂载的读写权限) |
三、设备的挂载
(1)、临时挂载命令
umount 设备/挂载点 ##取消挂载
mount -o rw /dev/vda1 /westos ##挂载读写模式
mount -o ro /dev/vda1 /westos ##挂载只读模式
mount -o remount,ro /westos ##重新挂载,将读写模式变成只读模式的挂载)
(2)、设备只读挂载测试
1、读写测试
fdisk -l 图1、可以查看到新加的磁盘为/dev/vdb
df 图2、可以发现/dev/下的vad的第一块磁盘vda1是挂载到/boot目录上的
mkdir /westos 兴建一个目录
卸载/boot中挂载的/dev/vda磁盘的第一个分区/dev/vda1,新建数据目录/westos,将/dev/vda1挂载到该目录上
umount /boot
mount /westos/ /dev/vdb
mount 图3、发现挂载的/westos的权限是可以读写
touch /westos/hhh 图4、可以实现新建文件
图1、可以查看到新加的磁盘为/dev/vdb
图2、可以发现/dev/下的vad的第一块磁盘vda1是挂载到/boot分区上的
图3、发现挂载的/westos的权限是可以读写
图4
2、只读测试
umount /westos
mount -o rw /dev/vda1 /westos/
mount -o remount,ro /dev/vda1 /westos/ 改为只读模式
touch /westos/kkk
不能进行读写了
记得还原挂载
以上方式的挂载都是临时的
(3)、永久挂载
vim /etc/fstab
基本格式
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
示例: /dev/vda1 /boot xfs defaults 0 0
mount -a ##重新读取/etc/fstab文件
如果uuid复制错误会重启失败
1、系统启动失败,自动进入挽救模式
2、按照提示在操作界面输入超级用户密码进入真实shell环境,修改磁盘挂载策略文件/注释错误行,重启系统成功
(4)、取消挂载时遇见设备正忙的情况解决办法
1.用真机连接虚拟机,切换到虚拟机的/root界面。
2.取消虚拟机/root的磁盘挂载,会出现目标正忙的结果,无法取消挂载
3.查看当前占用,解除占用
fuser -vm /boot ##查看/boot的当前占用情况
fuser -kvm /boot ##解除/boot的当前占用
4再次挂载成功
三、文件的查找
(1)、find查找基本命令
1.find命令基本用法
find -name “file*" | 查找名字为file的文件 |
find -user | 查找文件拥有着 |
find -group | 查找文件拥有组 |
find -type f/d/s/b/ | 查找文件类型 |
find -maxdepth 1 | 查找文件最大层级为1 |
find -mindepth 1 | 查找文件最小层级1 |
find -cmin 1 -1 +1 | 查找修改时间等于1,小于,大于1的文件 |
find - size +/-1M | 查找文件大于/小于1 M的文件 |
find -perm 111 | 查找文件为111的文件或目录 |
find -perm -111 | 查找文件为u位至少有1,g位至少有1,o位至少有1的文件 |
find -perm /111 | 查找权限u或g或o位其中至少一个位含有1的文件 |
find -exec | 对查找出来的文件进行操作 |
find + o +x1 +x2 | 或满足满足x1和x2要求的的文件 |
find + a +x1 +x2 | 同时满足x1和x2要求的的文件 |
find +not +x1 | 不满足组x1条件的文件 |
find -exec
对查找出来的文件进行操作,例如find /mnt -name westos exec chmod -x {} ; ##对查找出来的的名字未westos的文件去除所有人的执行权限
(2)、建立实验实验环境,并测试
1、建立实验环境如下
2、测试
1 find /mnt -name “westos*” ##查找名字含有westos的
2find /mnt -user westos ##查找用户是westos的
3find /mnt -maxdepth 1 -user westos ##查找最大层级为1,用户为westos的
4find /mnt -type d -name “westos*” ##查找名字含有westos的目录
5find /mnt/ -maxdepth 2 -user lee -o -user westos ##查找层级为2,用户为lee或westos的文件
6find /mnt/ -maxdepth 2 -user ck -a -group ck ##查找用户为ck且组为ck的文件
7 find /mnt/ -group westos -exec chmod -x {} ;查找组为westos的文件,并将其去除调执行权限
8 find /mnt/ -perm 644 ##找到权限为664的文件
9find /mnt/ -perm -222 ##找到u,g,o都有2的文件
10find /mnt/ -perm /111 ##查找u,g,o未位至少有一个有1的文件
四、磁盘分区方式
(1)、磁盘分区
磁盘在被系统使用前都要进行分区,也就是将硬盘划分为一个个逻辑的区域,每一个分区都有一个确定的起始结束位置。在Linux系统中,主要有MBR和GPT两种分区方式,这两种分区方式的对比如下:
分区方式 | 位数 | 分区表大小 | 支持分区个数 | 支持单个分区大小 |
legacy(MBR) | 32 | 64byte | 主分区最多4个 | 所有分区不超过16个 |
UEFI(GPT) | 64 | 128byte | 理论上无限制(windows系统限制为128个分区) | 8ZiB |
(2)、简图
legacy(MBR)结构
GPT分区结构
(3)、基本命令
fdisk /dev/vdb ##进行分区
udevadm settle ##进行分区同步
dd if=/dev/zero of=/dev/vdb bs=1M count=1 ##对磁盘清空
四、具体分区操作
(1)、基本操作
Command(m for help): m | 获得帮助 |
d | 删除 |
l | 列出所有分区类型 |
n | 新建 |
p | 显示分区列表 |
t | 更改分区类型 |
w | 保存更改 |
q | 退出 |
g | 设定分区方式为GPT |
o | 设定分区为MBR |
(2)、MBR分区(默认使用方式)
1、查看目前的分区
fdisk -l
2、输入p查看目前分区情况扩展分区
3、输入n新建分区,然后继续回车使用默认分区
4、对磁盘分区进行设置
4、连续建立4个主区后,再建立分区时会遇到问题
4、此时可以删除一个主分区,新建一个扩展分区
5、再次新建的磁盘分区会包含在延伸的扩展分区里面
5、完成保存步骤
(3)、GPT分区方式
可以将设备的分区方式直接转换为GPT分区方式
1、先清空之前的分区(对磁盘格式化)
dd if=/dev/zero of=/dev/vdb bs=1M count=1
2、进入分区,输入g进入gpt分区
3、新建分区同MBR类似不再赘述
4、同步分区
udevadm settle
五、文件系统管理(格式化文件并永久挂载)
(1)、基本原理
mkfs.xfs -K /dev/vdb1 将磁盘格式化为xfs格式(可以挂载的形式)
blkid 查看磁盘格式
(2)、挂载测试
1、直接挂载
会显示错误
2、指定磁盘的格式
3、挂载查看
(3)、永久挂载
mount /dev/vdb1 /mnt/ ##先挂载
vim /etc/fstab #再永久挂载,输入下图的挂载
df ##查看挂载情况
永久卸载也一样,先取消挂载,再去掉永久挂载,删除磁盘分区,不用清空磁盘。
dd if=/dev/zero of=/dev/vdb bs=1M count=1 ##是对磁盘清空
六、SWAP分区
程序在运行时所有数据都存储在内存RAM中,当RAM使用量超过了限额,程序运行有可能出错。为了使系统更加稳定,我们在硬盘上划分一部分空间作为内存缓冲区swap,当内存使用超过限额,内核会把内存中闲置的数据存放到swap中,当程序需要swap分区中的数据时内核将swap分区中的数据再交还给内存进程进行处理。对于swap分区大小建议如下(HIBERNATE指的是关机时自动备份内存数据的物理存储空间,一般不允许/关闭HIBERNATE):
(1)、分区建议如下
内存的大小 | swap分区建议大小 | 当允许HIBERNATE时 |
2G以下 | 内存两倍 | 内存三倍 |
2-8G | 等于物理内存 | 1。5倍物理内存 |
64G以上 | 4G | HIBERNATE不开 |
(2)、基本命令
swapon -s 查看swap分区信息
mkswap 设备 格式化设备文件系统为swap格式
swapon 设备 -p 0-32767 在系统缓冲区中添加指定设备,-p指定swap设备的优先级
swapoff 设备 在系统缓冲区中删除指定设备
(2)、分区操作如下
1、建立swap磁盘
fdisk /dev/vdb1
2.更改磁盘类型,保存退出
3.更改磁盘类型,激活磁盘
mkswap /dev/vdb1 改变磁盘为swap磁盘
swapon -a /dev/vdb1 激活/etc/fstab里面设置的所有swap分区
swapon -s 查看swap磁盘激活情况
4.改变优先级
vim /etc/fstab ##进入编辑swap优先级
swapoff /dev/vdb1 ##关闭swap服务
swapon -a ##开启swap服务
swapon -s ##查看年swap服务
七、磁盘配额
(1)、磁盘配额的意义
对每个用户使用磁盘的大小进行限制
(2)、操作步骤
1.建立一块xfs格式的磁盘/dev/vdb1
2.建立ck,lee用户
3.激活磁盘
chmod 1777 /mnt 给予权限
mount -o usrquota /dev/vdb1 /mnt/ 有限制的挂载方式
quotaon -uv /dev/vdb1 激活用户磁盘限制
edquota -u ck 对用户ck进行磁盘限制
4.进行永久挂载
vim /etc/fstab
5、测试结果
6、关闭配额
quotaoff /dev/vdb1 -uv 关闭配额
取消掉了限制
vim /etc/fstab 关闭永久配额