详解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没有id
  • cat /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)

相关推荐