Linux(19)——磁盘管理&find使用
1. 设备类型及查看
- 类型
类型 | 设备文件 |
---|---|
SATA/SAS/USB | /dev/sda,/dev/sdb SATA DISK A/B |
IDE | /dev/hd0,/dev/hd1 HARD DISK |
VIRTIO-BLOCK | /dev/vda,/dev/vdb virtio |
SSD | /dev/nvme0 |
SD/MMC/EMMC | /dev/mmcblk0 |
CDROM | /dev/cdrom,/dev/sr0 |
- 查看
[root@rhclient Desktop]# fdisk -l|dev #查看所有(指定)磁盘分区情况
[root@rhclient Desktop]# lsblk #设备使用情况
[root@rhclient Desktop]# blkid #查看设备ID与管理方式
[root@rhclient Desktop]# df #查看已挂在设备
[root@rhclient Desktop]# cat /proc/partitions #查看系统识别设备
Virtualization Client #虚拟化客户端
Virtualization Tools #虚拟化工具
Virtualization Hypervisor #虚拟化核心套件
2. 分区与挂载
- 文件系统
文件系统 FAT16 FAT32 NTFS EXT3 EXT4 XFS
最大卷 2GB 4GB 256TB 32TB 1EB 16EB
最大单个文件 4GB 8TB 16TB 2TB 16TB 8EB
最大文件个数 65536 4177920 4294967295 32000个子目录 无限子目录
代表系统 DOS/Win95 Win98 Win2000以后 RHEL5 RHEL6 RHEL7-
- 分区方式
支持 legacy+MBR 与 UEFI+GPT方式分区 。
- MBR
支持32位系统,分区表大小为64byte,最大4个主分区,最大每个分区2TB。最大支持16个逻辑分区,逻辑分区不被分区表记录,分区表只记录扩展分区(逻辑分区容器)地址。 - GPT
支持64位系统,分区表大小为128byte,理论分区个数无上限,Windows中最高为128个,每个分区最大为8ZB。
- 分区操作
- 非交互式
[root@rhclient Desktop]# parted /dev/vdb mklabel msdos # 设定为MBR格式
[root@rhclient Desktop]# parted /dev/vdb mkpart primary 1 100
# 设定主分区起始位置为1m 结束位置为100m
[root@rhclient Desktop]# parted /dev/vdb rm 1 # 删除第二个分区
- 交互式
[root@rhclient Desktop]# fdisk /dev/sdb #进入交互式菜单进行分区操作
[root@rhclient Desktop]# udevadm settle #同步分区表
[root@rhclient Desktop]# mkfs.xfs -K /dev/sdb1 #格式化设备为xfs文件系统
# 操作指令
m #帮助
d #删除分区
l #列出所有类型
n #新建分区
p #查看分区表
t #更改分区类型
w #保存更改
q #退出
g #设定分区为GPT
o #设定分区为mbr
[root@rhclient Desktop]# parted /dev/sda # 不加参数时,默认进入交互式菜单
- 磁盘挂载
mount -o 挂载方式 /device 挂载点
umount 设备|挂载点 #取消挂载
mount #查看系统所有挂载信息
[root@rhclient Desktop]# mount -o rw /dev/vdb /dir #读写方式挂载
[root@rhclient Desktop]# mount -o remount,ro /dir #由读写转换为只读
[root@rhclient Desktop]# fuser -kvm 设备|挂载点 #查看正在占用设备或挂载点的进程 -k 结束进程 -v 详细信息 -m 显示进程
开机自动挂载:
/etc/fstab #设备挂载策略文件
mount -a #重新读取策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sr0 /westos xfs defaults 0 0
3. swap 扩容
swap分区用户存储部分内存中的数据,实现内存扩容。
- 创建swap分区
[root@rhclient Desktop]# fdisk /dev/vdb # 创建分区类型为Linux Swap
[root@rhclient Desktop]# mkswap /dev/vda1 # 格式化为swap
- 激活swap分区
[root@rhclient Desktop]# swapon /dev/vda1 -p 0-32767 # 数字表示优先级
[root@rhclient Desktop]# swapoff /dev/vda1 #关闭设备swap
[root@rhclient Desktop]# swapon -a #重新读取策略文件
[root@rhclient Desktop]# swapon -s #查看所有swap分区
-
设定磁盘策略
/dev/vda1 swap swap pri=1 0 0
4. 磁盘配额
设定用户能写入指定设备的最大额度.
[root@rhclient Desktop]# mount /dev/vda1 /dir/ -o usrquota #挂载设备并激活配额参数
[root@rhclient Desktop]# edquota -u user #设定用户user配额
设备 用户已使用大小 软限 硬限 已经创文件个数 软限 硬限
Filesystem blocks soft hard inodes soft hard
/dev/vda1 20480 0 20480 1 0 0
[root@rhclient Desktop]# quotaon -uv /dev/vda1 #激活配额
[root@rhclient Desktop]# quotaoff /dev/vda1 #关闭配额
[root@rhclient Desktop]# vim /etc/fstab #永久开启配额
/dev/sda1 /pub xfs defaults,usrquota 0 0
5. find
[root@rhclient Desktop]# find /dir [option]
-name #文件名
-user #所有者
-group #所有组
-type f d s b l #类型
-perm 222 /222 -222 #权限 222:完全一致
# /222:ugo至少一个2;-222:ugo都有2
-exec #对搜索结果进行操作
-maxdepth 1 #最大深度
-mindepth 1 #最小深度
-cmin 1 -1 +1 #创建时间1min 小于1min 大于1min
-size +|-| 1M #文件大小大于1m 小于1m
-o#or #条件或
-a#and #条件与
-not #条件非
[root@rhclient Desktop]# find /etc/ -name passwd #搜索etc下passwd
[root@rhclient Desktop]# find /etc/ -maxdepth 1 -name passwd #最大为1层
[root@rhclient Desktop]# find /etc/ -maxdepth 2 -name passwd #最大为2层
[root@rhclient Desktop]# find /etc/ -maxdepth 2 -mindepth 2 -name passwd #最大最小2层
[root@rhclient Desktop]# find /mnt -user rh #查找mnt下rh的文件
[root@rhclient Desktop]# find /mnt -not -user rh #查找mnt下不是rh的文件
[root@rhclient Desktop]# find /mnt -user rh -a -group rh #查找mnt下rh用户rh组的文件
[root@rhclient Desktop]# find /mnt -type d #查找目录
[root@rhclient Desktop]# find /mnt -perm /111 -type f -exec chmod ugo-x {} \; #查找有执行权限的文件,并取消执行权限
6. 练习
插入新硬盘
创建500M普通分区
创建1G交换分区
查看分区结果并格式化普通分区
挂载至指定目录并修改权限
设定配额
配额限制成功
创建swap
设定优先级并激活
配置开机生效
检测配置是否错误
重启依然生效