菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
369
0

安全移除驱动器、弹出、卸载的差别及详细查看设备的运行前后的异同

原创
05/13 14:22
阅读数 44812

/*********************************************************************
 * Author  : Samson
 * Date    : 10/21/2014
 * Test platform:
 *              Mint 16
 *              GNU bash, version 4.2.45
 * *******************************************************************/

 卸载(umount)


仅仅是解除挂载,能够直接又一次挂载,
简单来说,在软件上把訪问设备中存储介质的链接去掉了,
一般来说,此时拔掉设备对当中的数据是安全的,
由于数据读写在卸载的时候已经终止,缓冲内容会写入介质.
用于稍后还会继续使用该介质,又一次挂载就可以(mount).

弹出(eject)

“移除”驱动器中的存储介质,与驱动器中的介质断开联系,
由于当中的存储介质没有了,故不能又一次挂载.
相对于光驱来说,就是把盘片拿出来,可是光驱设备还是看得到的,
弹出时会运行卸载再断开联系,故数据是安全的.
用于稍后会更换其它介质,需又一次插入介质.
对于优盘类介质内置的设备,需拔出又一次接入.

安全移除驱动器(Safely Remove Drive)

断掉设备电源,移除设备须要又一次插入设备,
对光驱来说,就是连光驱电源都断掉了.
安全移除驱动器时会运行卸载再切断驱动器电源,故数据是安全的.
用于不再使用该介质及驱动器,再次使用需又一次接入驱动器.

以上的说法来自网络:
http://blog.chinaunix.net/uid-14735472-id-3770635.html

而这种解释还是不是很清楚,那么我们就来看看在实际系统中的情况:
按以上的说法,安全移除驱动器,是相当于直接断掉电源,那么也就是说使用命令进行查看设备应该是不可以查看到的了,这里实验以U盘为例,U盘在下面的表示为包括Kingston Technology的行:
在进行安全移除前:
ufo@UFO:~$ lsusb
Bus 001 Device 004: ID 0951:1666 Kingston Technology
Bus 004 Device 002: ID 04b3:310d IBM Corp.
Bus 004 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard

在进行安全移除后:
ufo@UFO:~$ lsusb
Bus 004 Device 002: ID 04b3:310d IBM Corp.
Bus 004 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard

是不是没有包括Kingston Technology的行了。

弹出前:
ufo@UFO:~$ mount
……
gvfsd-fuse on /run/user/ufo/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=ufo)
/dev/sdb4 on /media/ufo/ufo type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

弹出后:
……
gvfsd-fuse on /run/user/ufo/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=ufo)

由于U盘在/dev下表示的是第二个硬盘,所以依照以上的说法,那么/dev/sdb在此时也应该是存在的,使用命令进行查看例如以下
ufo@UFO:~$ ls /dev/sd
sda   sda1  sda2  sda5  sdb
lsusb也还存在Kingston Technology的行:
ufo@UFO:~$ lsusb
Bus 001 Device 005: ID 0951:1666 Kingston Technology
Bus 004 Device 002: ID 04b3:310d IBM Corp.
Bus 004 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard

卸载前:
ufo@UFO:~$ mount
……
gvfsd-fuse on /run/user/ufo/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=ufo)
/dev/sdb4 on /media/ufo/ufo type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

卸载后:
……
gvfsd-fuse on /run/user/ufo/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=ufo)

注意看这里了,这就是umount和eject之间最大差别了,包含U盘的分区都还是存在的。/dev/sdb4是sdb的一个分区;而在eject后就没有这个分区可以看到了,仅仅能看到整个盘还存在信息。
ufo@UFO:~$ ls /dev/sd
sda   sda1  sda2  sda5  sdb   sdb4

ufo@UFO:~$ lsusb
Bus 001 Device 006: ID 0951:1666 Kingston Technology
Bus 004 Device 002: ID 04b3:310d IBM Corp.
Bus 004 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard

发表评论

0/200
369 点赞
0 评论
收藏