Linux系统中的设备管理
1. 设备识别
设备接入系统后都是以文件的形式存在
设备文件名称:
SATA: /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
SD/MMCMEMMC(卡) /dev/cdrom, /dev/sr0, /dev/sr1
设备查看
# fdisk -l 查看设备分区情况
# lsblk 查看设备使用情况
# blkid 设备管理方式及设备id
df 查看正在被系统挂载的设备
cat /proc/partitions 查看系统识别设备
2. 设备挂载
在系统中有设备id的设备是可以被系统使用的
挂在命令:
mount -o 挂载参数 device 挂载点 (临时挂载)
umount 设备|挂载点 (取消挂载)
mount 查看挂载信息
# mount -o rw /dev/nvme0n1p1 /westos/ 挂载设备,可读写
# mount 查看设备挂载情况
# mount -o remount ro /westos 将挂载读写改为只读
# mount 查看设备挂载信息
当卸载时出现设备忙的情况
umount /westos 卸载设备
# fuser -kvm /westos/ k结束 显示详细信息 m显示进程
永久挂载
# vim /etc/fstab 永久挂载 执行后不会马上生效
# mount -a 重新读取/etc/fstab文件 (执行后生效)
如果编写文件的内容有错误,重启系统时系统就会无法启动
模拟错误:
# vim /etc/fstab
reboot
无法正常启动
输入超级用户密码获得shell
exit退出
进入选择用户界面
3.设备中文件的查找
find命令
实验:
# find /etc/ maxdepth -name passwd 最大层寻找 /etc/中的passwd
# find /etc/ -maxdepth 1 -name passwd 最大层为1寻找passwd
# find /etc/ -maxdepth 2 -name passwd 最大层为2寻找passwd
# find /etc/ -mindepth 2 -maxdepth 2 -name passwd 最大层为2 最小层为2
在/mnt 中新建目录、文件 改变其用户、组、权限
# find /mnt/ -user westos 在/mnt中按照用户寻找
# find /mnt/ -user westos -o group yueyue 在/mnt 中用户为westos或者组为yueyue
# find /mnt/ -user westos -a -group yueyue 在/mnt 中用户为westos且组为yueyue
[root@rhel8 mnt]# find /mnt/ -type d 类型为目录寻找
# find /mnt/ -perm 644 在目录中按照权限644寻找
# find /mnt/ -perm -111 权限ugo中都有x
# find /mnt/ -perm /111 在u、g或者o中有x
# find /mnt/ -perm -111 -type f 权限ugo中都有x且为文件
# find /mnt/ -perm -111 -type f -exec chmod ugo-x {} \; ugo中都有x的文件 执行去掉x的命令
4. 分区
MBR分区方式
主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可以直接使用,只是逻辑分区的容器
分区方法:
# fdisk /dev/sdb 分区
# partprobe 同步区分表
# mkfs.xfs /dev/sda 格式化设备为xfs文件系统(在/dev/sda上安装设备管理软件)
当已经有了四个主分区就不能在添加分区了,可以删除1个主分区设置为扩展分区
当扩展分区添加完毕之后就可以继续添加分区
无法读取第五个分区
# partx -d /dev/sdb 清理分区表
# partx -a /dev/sdb 重新加载
MBR分区方式转换为GPT
# parted /dev/sdb