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 此时就可以卸载