详解linux系统中的设备管理
设备识别
设备接入系统后都是以文件的形式存在
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)虚拟io输出 |
M2(SSD) | /dev/nvme0,/dev/nvme1(nvme=m2) |
SD/MMC/EMMC(卡) | /dev/mmcblk0,/dev/mmcblk1(mmcblk=mmc卡 ) |
光驱 | /cdrom,/dev/sr0,/dev/sr1 |
2.设备查看
命令 | 作用 |
---|---|
fdisk -l | 查看磁盘分区情况 |
lsblk | 设备使用情况 |
blkid | 设备管理方式及设备id |
df | 查看正在被系统挂载的设备 |
cat /proc/partitions | 查看系统识别设备 |
练习:
fdisk -l
查看磁盘分区情况lsblk
(可以查看分区及使用情况)
sda和sr0没有任何的分区;lsblk除了看到磁盘,还可以看见光驱。blkid
设备管理方式及设备id。mount /dev/sda /westos
挂载sda时报错了,因为此时sda没有idcat /proc/partitions
查看系统识别设备注意:cat /proc/partitions即系统识别后我们才能使用,fdisk -l则看到的是真实存在的。虽然这两者都能显示sda的存在,但其实是是不一样的。简而言之,一个重点在于真实存在,另一个的着重点再系统识别。(小例子解释:口袋里翻出了100元,“真实存在”即为查看这个钱到底有没有;“系统识别”即为你知不知道有这个钱)
我们使用blkid查看,对比后可以发现,sda是真实存在的,但还未被系统使用
设备挂载
在系统中有设备id的设备是可以被系统使用的
- 验证:在系统中有设备id的设备可以被系统使用
mount /dev/sda /westos`挂载sda时报错了,因为此时sda没有id
1.临时挂载
命令 | 作用 |
---|---|
mount | 查看挂载信息 |
umount 设备 | 挂载点 |
mount -o 挂载参数 device 挂载点 | 挂载设备 |
mount -o remount,ro /westos | 转换挂载参数由读写变为只读 |
练习:
- 卸载+挂载
- 转换挂载参数由读写变为只读
企业7可直接使用mount -o ro /dev/vda1 /westos命令进行只读挂载,企业8中可通过下面的方法改成只读挂载。
[root@rhel8 Desktop]# mount /dev/vda1 /westos[root@rhel8 Desktop]# mount -o remount,ro /westos[root@rhel8 Desktop]# mount
如果要重新改回读写挂载
[root@rhel8 Desktop]# mount -o remount,rw /westos
- 如果在卸载时当出现设备正忙,可使用fuser
fuser -kvm 设备|挂载点
参数 | 作用 |
---|---|
-k | 结束进程 |
-v | 显示详细信息 |
-m | 显示进程 |
注意:以上设备挂载都是临时挂载
2.设备永久挂载
vim /etc/fstab
设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测/dev/sr0 /westos iso9660 defaults 0 0
此文件在编写完成后不会马上生效,因为此文件在系统开机时,就已经被读取过了。
mount -a
重新读取/etc/fstab文件后就可以生效了- 此文件内容编写错误会导致系统启动失败,如将sr0写错成sR0
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测 /dev/sR0 /westos iso9660 defaults 0 0
- 按照提示在操作界面输入超级用户密码,会给一个shell
- 注释或者修改错误行,之后重启系统即可。记得检查下
vim /etc/fstab
里面是否修改成功。
设备中文件的查找
1.find 命令
参数 | 作用 |
---|---|
-name | 查找 |
-user | 文件拥有者 |
-group | 根据文件拥有组 |
-type | 类型 |
-perm | 文件权限 |
-exec | |
-maxdepth | 最大深度 |
-mindepth | 最小深度 |
-o | 或者 |
-a | 并且 |
-not | 反选 |
练习:
- 查找最大深度与最小深度
- 建立一些文件,修改所有人和所有组
- 用户组
- 结合-o -a -not 使用
- find /mnt -perm
理解:111是3个条件,211也是3个条件,311则是4个条件(因为3=2+1,参考1248)
find /mnt -perm 111 | 文件权限为111 |
---|---|
find /mnt -perm -111(-表示并且) | 文件权限u位有1 G位有1 o位有1 |
find /mnt -perm /111(/表示或者) | 文件案权限u或G或O 含有1 |
- find /mnt -perm /111 -type f -exec chmod ugo-x {} ;
[root@rhel8 mnt]# find /mnt -perm -111 -type f -exec chmod ugo-x{} ;find: missing argument to `-exec'[root@rhel8 mnt]# find /mnt -perm -111 -type f -exec chmod ugo-x{} \;{} 表示find命令查找结果 #\是为了转译“;”
赞 (0)