一、实验环境的设定
1. 实验环境的搭建
本节内容只需要一台虚拟机 westosa
- reset重置虚拟机,保证实验环境的纯净
- 配置网络实现ssh连接
重置虚拟机后,配置网络,设定ip:172.25.254.100,保证与主机可以通信
实现ssh连接
2. 添加硬盘
# cat /proc/partitions:查看硬盘信息
此时虚拟机westosa只有vda 一块硬盘
可以添加一块硬盘,步骤如下:
添加成功后,再次查看硬盘信息,发现有两快,并且第二块的大小是5GB!与设定一致!
二、设备文件的查找
1. find命令
find+目录+查找命令
- - name:按名字查找
- - user:按文件所有人查找
- - group:按文件所有组查找
- - type :按文件类型查找
- - perm:按权限查找
- - exec:查找后进行处理
- - maxdepth:查看的最大深度
- - mindepth:查找的最小深度
- - cmin:按操作时间进行查找
- - size:按大小查找
- - o:或者
- - a:并且
- - not:不是
2. 实验
建立实验素材,在/mnt/下建立5 个文件并修改其所有人所有组!
(1)按照名字查找
# find /mnt/ -name westos :查找名字是westos的文件
# find /mnt/ -name "westosfile*":查找名字含有westosfile的文件
ps: 含有特殊字符 要用双引号引起来 或者 用 反斜杠转译!
(2)按照最大最小深度查找
建立目录 /mnt/westosdir,目录里面建立文件westosfile1
# find /mnt/ -name westosfile1:查找名字是westosfile1的文件,有两个
# find /mnt/ -maxdepth 1 -name westosfile1:查找westosfile1文件最大深度是1 ,意思是只查找/mnt下的文件!
# find /mnt/ -maxdepth 2 -name westosfile1:最大深度为2,表明查找深度是1,2的!
# find /mnt/ -mindepth 2 -maxdepth 2 -name westosfile1 :深度只是2的
(3)按照类型查找
# find /mnt/ -type d:查找目录
# find /mnt/ -type f:查找文件
(4)按照所有人所有组查找
# find /mnt/ -user root:查找文件所有人是root用户的
# find /mnt/ -user root -o -user westos:查找文件所有人是root或者westos用户的
# find /mnt/ -user westos -a -group hgx :查找文件所有人是westos用户 所有组是hgx的
ps: -a 可以省略 意思一样
# find /mnt/ -user westos -not -group hgx:查找所有人是westos用户所有组不是hgx的
(5) 按照文件大小查找
# dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10:设置文件大小为10M
# du -sh westosfile*:查看文件的大小
# find /mnt/ -size 20M:查找大小为20M的文件
# find /mnt/ -size -20M:查找文件大小小于20M的,不包括20M
# find /mnt/ -size +20M:查找文件大小大于20M的,不包括20M
(6)按照最后修改时间查找
# find /mnt/ -cmin -1:查找在1分钟内修改的文件
# find /mnt/ -cmin +1:查找修改超过1分钟的文件
(7) 按照权限查找
- # find /mnt/ -perm 444:查找权限是444的文件
- # find /mnt/ -perm - 644 :查找权限含有644的文献,意思是 u必须含有rw, 并且 g必须含有r, 并且 o必须含有r
- # find /mnt/ -perm /322:查找权限为,u权限含有w 或者 x, 或者 g权限含有 w ,或者 o权限含有w。即就是,rwxrwxrwx,满足一个就可以!!
(8)查找后处理
- # find /mnt/ -perm -002 -exec chmod o-w {} \ ; :查找o含有w权限的文件,并取消w权限!
- # find /mnt/ -name westosfile3 -exec rm -fr {} \; :查找westsosfile3并删除!!
ps: { }是所有的查找结果
三、设备的查看命令
- fdisk -l :查看磁盘分区情况,最详细的
- lsblk :设备使用情况
- cat /proc/partitions:查看系统识别设备
- df :查看正在被系统挂载的设备, -h / -H
- blkid :查看设备管理方式及设备id
查看磁盘分区情况:
查看系统识别设备:
查看挂载的设备:
查看设备id:
四、设备的挂载与卸载(临时)
- mount :挂载
- umount :卸载
- lsof :查看设备信息
- fuser -vm :查看设备信息
- fuser -kvm :查看并关闭设备
------------------------------------------------------------------实验-------------------------------------------------------------
以u盘为例,感受设备的挂载与卸载!注意:在真机实验,虚拟机无法识别u盘!
# df:显示挂载的设备
# umount /dev/sdb1:卸载设备,加设备或者卸载点都可以,一般加设备!
# mount /dev/sdb1 /mnt/:挂载设备,指定挂载点!
进入挂载点查看,设备还是u盘,挂载成功!
# mount:查看详细的挂载信息
发现此次设备可进行读写操作,建立/删除文件进行验证
验证完成功卸载设备, 再次挂载
# mount -o ro /dev/sdb1 /mnt/:指定参数进行挂载,设备只读
利用mount查看详细信息,并进行验证!
如果想更改设备可以进行读写操作的话,可以重新挂载!
# mount -o remount,rw /dev/sdb1 :重新挂载,更改设备为读写
ps:这里没成功。。。
然后卸载后在挂载实现读写操作!
卸载失败:显示busy怎么办?
- lsof 设备/挂载点 :查看设备信息
- fuser -vm 设备:查看设备信息
- fuser -kvm 设备:查看并关闭设备信息
五、磁盘分区
1.磁盘分区原理
逻辑上将大硬盘分成小硬盘,便于数据的存储读取方便
2.两种分区表形式
MBR分区表:每块硬盘最大支持2.1TB硬盘,每块硬盘最多支持4个分区。
GPT分区表(全局唯一标识分区):支持9.4ZB硬盘,理论上支持分区数没有限制,但Windows限制128个主分区。
3. MBR分区表的分区类型
主分区:主分区表记录分区的信息并可以直接使用的分区,最多4个
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
Ⅰ、把一个主分区拿出来做扩展分区,每块硬盘最多只能有1个扩展分区。
Ⅱ、扩展分区+主分区<=4。
Ⅲ、扩展分区不能写数据,不能格式化,只能在里面包含更多的逻辑分区。(为了突破4个分区的限制)1,2,3,4号分区只能分配给主分区和扩展分区,逻辑分区只能从第5个分区开始
逻辑分区:扩展分区之上划分的分区叫做逻辑分区
4. 分区命令---非交互式----parted
- parted /dev/vdb mklabel msdos/gpt:确定分区表为MBR或GPT
- parted /dev/vdb mkpart primary 1 1000:建立100M的分区
- parted /dev/vdb rm 2:删除第二个分区
首先利用# fdisk -l 查看磁盘分区情况
此时发现磁盘/dev/vdb 并为分区!
# parted /dev/vdb mklabel gpt:设定分区表类型为gpt
# parted /dev/vdb mklabel msdos :设定分区表类型为MBR (msdos)
# parted /dev/vdb mkpart primary 1 1000 :建立分区1
# parted /dev/vdb mkpart primary 1001 2000:建立分区2
# parted /dev/vdb rm 1 :删除分区1
# parted /dev/vdb rm 2:删除分区2
5.分区命令----交互式-----fdisk
- fdisk /dev/vdb:交互式分区
- m : 查看帮助
- p:显示分区结果
- n:添加分区
- d:删除分区
------------------------------------------------------------------实验---------------------------------------------------------------
实验要求:建立3个主分区,1 个扩展分区,1个逻辑分区
# fdisk /dev/vdb:进入交互式分区
# p : 显示分区情况
# n :添加分区
添加1号主分区
同理添加2号主分区
再次添加3号主分区
添加扩展区,在扩展区上划分逻辑区!
分区建立完成后,记得保存!!
保存成功后,退出同步分区表!
# udevadm settle:同步分区表
注意:但此时分区都不能使用!因为没有文件系统
6.部署文件系统
红帽常用文件系统为XFS
- mkfs : 用于在特定的分区上建立 linux 文件系统
共有几种文件系统类型
# mkfs.xfs /dev/vdb1 :设定分区1的文件系统类型为xfs
同理设置分区235的文件系统!
设置成功后利用blkid查看!
此时将 /dev/vdb5 挂载在/mnt下,并要求自动挂载!
之前是自动启动 写在/etc/rc.d/rc.local中!但是该文件是系统启动后在读取的!!
要在系统启动前读取该挂载信息:写进 /etc/fstab中!
此时df 查看挂载信息,发现 /dev/vdb5 没有挂载!
mount -a : 将/etc/fstab的所有内容重新加载,此时/dev/vdb5已经挂载成功!
7.删除磁盘
- fdisk 交互式删除----记得wq保存
- dd if=/dev/zero of=/dev/sdb bs=1M count=1 : 快速覆盖分区表从而删除磁盘设备
# fdisk /dev/vdb:交互式删除
删除完记得wq保存,没有保存的磁盘没有变化!
dd if=/dev/zero of=/dev/sdb bs=1M count=1 : 快速覆盖分区表从而删除磁盘设备
六、swap分区
Linux中Swap(即:交换分区):功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间--swap,腾出内存来让别的程序运行。
1.创建swap分区
# fdisk /dev/vdb:创建分区
修改分区类型为swap
----> t ------> 82
swap分区创建完成!
创建完成记得wq保存!保存后退出记得 同步分区表!
# udevadm settle :同步分区表
# mkswap /dev/vdb1 :格式化设备类型为swap
# swapon -a /dev/vdb1:激活该设备
# swapon -s:查看分区信息
# swapoff /dev/vdb1:关闭该分区设备
# swapon -a /dev/vdb1 -p 1 :激活分区设备并设置优先级
注意:----------------以上都是临时操作!!-----永久操作要写进文件!
# vim /etc/fstab
# swapon -a :重新读取/etc/fstab
# swapon -s:查看分区信息
# fdik /dev/vdb : 进入利用d删除分区信息
七、磁盘配额
设定用户能写入指定设备的最大额度
1.实验准备
- 新建大小为100M的分区
- 新建/westos目录并修改权限
- 挂载设备到westos目录
新建分区
设置文件系统格式
新建/westos目录并挂载设备
此时并为设定磁盘配额!测试一下!
切换至westos用户,写入/westos目录,30M的内容!写入成功!
2.磁盘配额设定
- mount -o usrquota /dev/vdb1 /westos/ :挂载设备并激活配额参数
- edquota -u westos:设定用户westos配额
首先清除/westos目录下所有文件,并且卸载设备!
重新挂载设备并激活配额参数!
利用mount查看配额参数是否激活!
# edquota -u westos :设定用户配额,一般只修改硬限,此时设置为20M。
即就是,westos用户最多写入该设备20 M的内容!
# vim /etc/fstab:永久开启配额
3.测试
再次切换westos用户,分别写入30,20,21M的内容!发现超过20M都无法写入,说明磁盘配额成功!
4.关闭配额
- quotaoff -uv /dev/vdb1:关闭设备配额
- vim /etc/fstab:永久关闭配额
- 卸载设备重新正常挂载即可
再次测试, 发现设备配额消失,可以写入30M的内容!