设备识别
设备接入系统后都是以文件的形式存在
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文件权限为111find /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命令查找结果 #\是为了转译“;”