设备识别
设备类型:
磁盘类:
- SATA/SAS/USB:
在系统中的显示:/dev/sda 或 /dev/sdb
s= SATA,d=DISK,a/b=第几快 - IDE
在系统中的显示:/dev/hd0 或 /dev/hd1
h= hard,d=DISK,0/1=第几块 - M2(SSD)
在系统中的显示:/dev/nvme0 或 /dev/nvme1
nvme=m2,0/1=第几块 - VIRTIO-BLOCK
在系统中的显示:/dev/vda 或 /dev/vdb
v=virtio,d=DISK,a/b=第几快
卡类:
SD/MMC/EMMC
在系统中的显示:/dev/mmcblk0 或 /dev/mmcblk1
mmcblk=mmc卡,0/1=第几块
光驱:
/dev/cdrom 或 /dev/sr0 或 /dev/sr1
设备查看
| 命令 | 说明 |
|---|---|
| fdisk -l | 查看磁盘分区情况 |
| lsblk | 设备使用情况 |
| blkid | 设备管理方式及设备id |
| df | 查看正在被系统挂载的设备 |
| cat /proc/partitions | 查看系统识别设备 |
命令演示:
- fdisk -l

- lsblk 会列出所有的设备,包括没有使用的

- blkid

- df

- cat /proc/partitions

设备挂载
在系统中有设备id的设备是可以被系统使用的
设备的临时挂载设定:
挂载命令: 命令:mount -o 挂载参数 device 挂载点

普通挂载,用mount命令查看,可以看到最后有设备的挂载信息,ro=只读,设备的内容是不可更改的。

如果需要更改设备的权限,使用 -o 添加参数rw变为读写权限


设置为rw读写权限,如果再改回只读权限,命令如下,改为读写也是一样。
[root@rhel8-work ~]# mount -o remount,ro /mnt
挂载查看命令: mount
取消挂载命令: umount 挂载点/设备名称。
上面实验时将 /dev/sda1 挂载到 /mnt 下,现在取消挂载,设备又自动回到 /boot 下:

在卸载时当出现设备正忙: fuser -kvm 设备/挂载点
首先挂载设备到 /mnt 目录下,cd切换到该目录

umount 取消挂载,会提示目标正忙

这时,我们先用命令 “fuser -vm /dev/sda1”查看设备情况,-v 显示详细信息 ,-m 显示进程

看到这个设备的运行信息在bash里,PID是7566,可以用“kill -9 7566”关闭这个进程,或者 “fuser -kvm /dev/sda1” 关闭所有这个设备的使用的进程,-k 结束进程,然后再umount ,

设备永久挂载设定:
编辑配置文件:vim /etc/fstab,设备挂载策略文件。
可以看这个文件里,系统默认的写了三个设备的挂载,用的是UUID的方式,

我们使用设备名称同样可以,按照它的格式去写

格式是:设备名—挂载点—设备类型(blkid查看)—挂载参数—是否备份—是否检测
此文件在编写完成后不会马上生效,需要执行命令:mount -a ,重新读取/etc/fstab文件。

/etc/fstab 是系统初始化镜像加载的文件,如果写错了内容,会导致系统启动失败,进入如下界面,先输入超级用户密码,进入shell界面然后编辑 /etc/fstab ,

进入 /etc/fstab文件,“#” 注释掉错误的信息保存退出,
再执行 reboot 重新启动系统就正常了。
设备中文件的查找
文件查找命令:find
| 参数 | 说明 |
|---|---|
| -name | 名字 |
| -user | 用户 |
| -group | 组 |
| -type | 类型 |
| -perm | 过滤权限 |
| -exec | 并行命令 |
| -maxdepth | 最大查找层数 |
| -mindepth | 最小查找层数 |
| -o | 或者,只满足一个条件即可 |
| -a | 并且,同时满足两个条件 |
| -not | 反选条件 |
用法效果
-
-name
查找 /etc/ 下名字是 user 的文件,查找后就会展示所有名字是user的文件,

-
user
创建一些文件作为实验素材为后面的参数演示使用

find /mnt -user root ,查找属于root用户的文件

-
-group
find /mnt -group redhat ,查找属于redhat用户组的文件

-
-type
find /mnt -type d,find /mnt -type f,d=directory,f=regular file。

-
-perm
find /mnt -perm 755 ,查找权限必须为 rwxr-xr-x 的文件

find /mnt -perm -111 ,文件权限u位有1、G位有1、o位有1的文件,意思是权限最低是111,比111多也可以

find /mnt -perm /111,文件的权限u或G或o位含有1的文件,就是三个位置随便哪个位置有一个1的权限就可以

find /mnt -perm /111 -type d -exec chmod ugo-x {} \; 表示查找文件的权限u或G或o位含有1的目录并且减去ugo位的1权限,{} 表示find命令查找结果 ,\是为了转译“;”,也可以写成:
find /mnt -perm /111 -type d -exec chmod ugo-x {} “;”

-
-o
find /mnt -user root -o -group root ,查找文件用户或者用户组是root的

-
-a
find /mnt -user root -a -group redhat ,查找文件用户是root并且组是redhat的

-
-not
find /mnt -not -group redhat ,查找用户组不是redhat的文件

-
-maxdepth,-mindepth
find /etc/ -maxdepth 1 -name passwd ,表示查找/etc/的文件名为passwd的并且只在/etc/路径找,不查找/etc/下子目录里的文件

如果也要查找子目录的可以把数字改为2,

如果只想在子目录里查找,用 -mindepth 参数

也可以同时使用,锁定查找某些层的文件

分区
分区类型分为两种:传统分区(MBR)、UEFI(GPT)。
我们来作一个比较说明
| 传统分区(MBR) | |
|---|---|
| 位数 | 32 |
| 分区表大小 | 64 |
| 支持分区个数 | 主分区4个,所有分区16个 |
| 支持单个分区大小 | 2.2TB |
| UEFI(GPT) | |
|---|---|
| 位数 | 64 |
| 分区表大小 | 128 |
| 支持分区个数 | 理论上无限制,Windows上限是128个 |
| 支持单个分区大小 | 8ZB |
传统分区(MBR)
因为MBR分区的独特性,我们来详细讲解。
MBR分区方式:
| 方式 | 说明 |
|---|---|
| 主分区 | 主分区表记录分区的信息并可以直接使用的分区 |
| 扩展分区 | 主分区表记录的分区,不可直接使用,只是逻辑分区容器 |
| 逻辑分区 | 扩展分区之上划分的分区叫做逻辑分区 |
所以MBR分区建立的主分区实际是3个主分区+1个扩展分区,其他的逻辑分区都是存在于扩展分区上的
MBR分区方法
命令:fdisk 设备名称
我准备了一块新的硬盘在虚拟机里,/dev/nvme0n1 ,用来分区实验

执行命令:fdisk /dev/nvme0n1 ,在Command后面输入 m 获取帮助

在下面的参数里,介绍一些我们常用到的
| 参数 | 说明 |
|---|---|
| d | 删除分区 |
| l | 列出所有分区类型 |
| n | 新建分区 |
| p | 显示分区表 |
| t | 更改分区类型 |
| w | 保存更改 |
| q | 退出 |
执行命令: fdisk /dev/nvme0n1 ,新建分区

命令:fdisk -l,来查看/dev/nvme0n1,可以看到新建的分区出现了

如上建立4块分区,当建立第五块时就会要建立新的分区就要先用扩展分区替换主分区,

如果有时候我们建立完分区后,但是在 /proc/partitions 里看不到新建立的分区时,使用命令:partprobe ,同步分区表。
当使用命令:blkid ,查看设备id时,我们新建的分区是没有UUID的,这时需要执行命令:mkfs.xfs /dev/分区 ,格式化分区为xfs文件系统


安装文件系统后,就可以挂载设备,并且使用了

如果要建立扩展分区,在起始位置和结束位置都直接回车用默认,它就会使用除了你之前建立的主分区之外所有的空间

在建立扩展分区后,再去建立分区时会出现建立完后,显示设备正忙,并且在可识别的设备里查看发现也查看不到


这时要使用命令:partx -d /dev/sda ,清理分区表;
partx -a /dev/sda ,重新加载分区表

MBR分区方式转换成GPT
命令:parted /dev/设备名称
注意:如果转换会清空磁盘,数据会全部被清除
执行命令,可以用help来查看参数命令怎么使用,里面有说明mklabel可以建立新的磁盘标签

输入:mklabel,可以使用【Tab】键查看可选择的类型,再输入gpt确认要更改磁盘类型。如果之前设备有挂载使用就会提示你,选择Ignore忽视。下面输入Yes确认更改,又会提示你的设备被使用,还是输入Ignore,就完成更改了

最后quit退出时,系统还会提示你更新 /etc/fstab 文件,要不你的系统会无法启动的

用fdisk -l 查看设备,可以看到设备类型是gpt,而且之前我们建立的分区都没有了,数据被清空了。

本文详细介绍如何在系统中识别各类设备,包括磁盘、卡类、光驱等,并讲解设备的挂载、查找及分区方法。重点介绍设备在系统中的显示方式、常用的设备查看命令以及设备的临时和永久挂载设定。
1108

被折叠的 条评论
为什么被折叠?



