Linux系统中的设备管理

计算机中具有存储功能的是硬盘
存储是每个计算机系统的基本要求,存放一些基本的文件和程序

1.本地存储识别

fdisk 是用来管理磁盘分区的适用程序

操作 功能
fdik -l 列出磁盘分区信息(真实存在的设备)
blkid 列出系统中可以使用的设备id
cat /proc/partition 查看已经被系统识别的设备
df 查看系统正在挂载使用的设备

小结:
1.内存中可以看到,但不一定被系统识别(fdisk -l)
2.可以识别,但不一定能用(cat /proc/partition)

1.fdisk -l ##列出磁盘的分区信息

在这里插入图片描述必须root用户才可以查看。【s表示SATA硬盘,d表示disk,a表示第一块】
在这里插入图片描述插入优盘后,就会显示添加的信息,b表示第二块

2.cat /proc/partition ##系统内核可以是别的

在这里插入图片描述
在这里插入图片描述

上图说明:sda,sda1,sdb,sdb1是可以被管理的
sda3设备不存在,因此无法对设备进行管理【如若sda3真实存在,出现这种情况的原因是系统的分区表没有和原来的分区表进行同步】

3.blkid ##列出系统可以使用的设备

在这里插入图片描述

4.df ##系统正在挂载的设备

在这里插入图片描述

2.设备的挂载与卸载

挂载:插入U盘的过程(插入U盘是往目录上插,往文件夹上插)
卸载:拔除U盘的过程

1.设备名称

/dev/xdx 例如:/dev/sda ,/dev/sda1,/dev/hd0,/dev/hd1
/dev/sr0 光驱
/dev/mapper/* 虚拟设备(软件模拟出来的)

备注:/dev/xdx
第一个x可以是s串口硬盘/h并口硬盘IDE式
第二个x是按照abcde…顺序往下排

例如:/dev/hd0 表示系统中第一块IDE设备;/dev/hd1 表示系统中第二块IDE设备;/dev/sda 表示系统中第一块SATA设备;/dev/sda1 表示第一块设备的第一个分区;/dev/sdb表示系统中第二块SATA设备;/dev/sdb1 表示第二块设备的第一个分区

2.设备的挂载

mount 查看挂载信息
mount 设备 挂载点 指定地点挂载
mount /dev/sd1 /mnt 挂载sdb1到mnt
mount -o ro /dev/sdb1 /mnt 只读挂载
mount -o remount,rw /dev/sdb1 重新读写挂载
umount 挂载点/设备 卸载挂载点或设备
umount /mnt或/dev/sdb1 卸载mnt挂载点或者卸载sdb1设备

mount 设备目录 挂载点目录
在这里插入图片描述

umount /dev/sdb1 ##卸载操作
在这里插入图片描述
mount /dev/sdb1 /westos ##将sdb1挂载到westos上
在这里插入图片描述

mount -o ro /dev/sdb1 /mnt ##只读挂载
在这里插入图片描述
在这里插入图片描述
mount -o,remount,rw /dev/sdb1| /mnt ##重新读写挂载
在这里插入图片描述在这里插入图片描述

3.解决设备正忙情况

umount:/mnt,target is busy 有程序正在使用此设备
在这里插入图片描述在这里插入图片描述注意:要先从路径中退出,再卸载

解决办法1:

fuser -km /mnt ##显示/mnt上所有的进程并且将其结束
umount /mnt ##卸载

fuser /mnt ##查看使用/mnt的进程
fuser -v /mnt ##更加详细的显示正在进行的程序以及子程序
fuser -vm /mnt ##显示正在运行的进程以及子进程

在这里插入图片描述

在这里插入图片描述

解决办法2:

lsof /mnt ##显示使用/mnt的进程
kill -9 pid ##结束进程
umount /mnt ##卸载

在这里插入图片描述

设备正在忙,如何解决(小结)

1.插上U盘,df查看挂载情况 2.cd进入U盘挂载目录,打开一个文件或者进入一个目录 3.重新打开一个shell执行如下操作: a.umount /dev/sdb1发现不能卸载,正在忙 b.fuser -vm /dev/sdb1 查看进程 lsof /dev/sdb1 查看进程 c.以上两种操作查看出来的进程id,均可用kill -9 id 进行结束进程 d.fuser -kvm /dev/sdb1 查看并结束 e.umount /dev/sdb1 此时就可以卸载