安全移除驱动器、弹出、卸载的区别及具体查看设备的执行前后的异同

/*********************************************************************
 * 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的行:

在进行安全移除前:

[email protected]:~$ 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

在进行安全移除后:

[email protected]:~$ lsusb

Bus 004 Device 002: ID 04b3:310d IBM Corp.

Bus 004 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard

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

弹出前:

[email protected]:~$ 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在此时也应该是存在的,使用命令进行查看如下:

[email protected]:~$ ls /dev/sd

sda   sda1  sda2  sda5  sdb

lsusb也还存在Kingston Technology的行:

[email protected]:~$ 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

卸载前:

[email protected]:~$ 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后就没有这个分区能够看到了,只能看到整个盘还存在信息。

[email protected]:~$ ls /dev/sd

sda   sda1  sda2  sda5  sdb   sdb4

[email protected]:~$ 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

时间: 2024-08-11 05:35:37

安全移除驱动器、弹出、卸载的区别及具体查看设备的执行前后的异同的相关文章

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

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

INNO:检测程序是否已经安装,是则弹出卸载提示。

INNO:检测程序是否已经安装,是则弹出卸载提示. 作者:少轻狂 | 发布:2010-08-05 | 更新:2013-09-05 | 分类:部署 | Disposition | 热度:2816 ℃ 实现原理: 探测注册表HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall(即“添加/删除程序”)中的卸载项目,若检测到则启动卸载确认对话框. 在实际应用的时候,各位需要将上面代码中“{86D79F54-E48

弹出层(动态实现弹出层的自由控制)

实现效果如图: 鼠标悬浮到“张三”时,弹出张三信息,当鼠标仅从下面与张三结合部分移过来,弹出信息不消失,离开弹出框或离开张三,弹出框消失: 1.准备一个触发的超链接,一个弹出html(html标签) <a href="#" class="info_name">张三</a> <div class="info">张三</div>  //div样式自己调,div的外框与a标签尽量接近(防止事件中断) 2.

cocos2dx2.2.2弹出框的实现

在上一篇文章中,我们利用CCEditBox实现了输入框功能,使我们在注册时可以输入用户名和密码.但是当用户名和密码的输入不符合规范时,我们应该怎样给与用户提示呢?下面我们就来介绍弹出框的实现方式. 我们的思路就是,创建一个模态层,将当前场景的内容盖住,然后在弹出层上给与用户相应的提示并提供一个关闭弹出层的按钮.首先,我们先来看一下效果. 这里的标题和具体提示信息需要是自定义的,才能满足不同场景的需要,而确定按钮只是用来关闭弹出层的,所以这个弹出框的主要元素并不多,实现起来也比较简单. 另外,还有

弹出层插件(layer)

使用弹出层完成文章的详情查看: 1.给标签绑定一个class和自定义的属性article_id 设置class的目的:给这一类的元素方便绑定事件 自定义属性article_id:待会是为了获取当前元素的id 引入核心js文件: 2.给class=showContent绑定一个单击的事件 3.php根据ajax传递来的id去数据库把文章详情获取到,以json格式输出 效果:

【Unity技巧】自定义消息框(弹出框)

写在前面 这一篇我个人认为还是很常用的,一开始也是实习的时候学到的,所以我觉得实习真的是一个快速学习工程技巧的途径. 提醒:这篇教程比较复杂,如果你不熟悉NGUI.iTween.C#的回调函数机制,那么这篇文章可能对你比较有难度,当然你可以挑战自我. 言归正传,消息框,也就是Message Box,在Windows下很常见,如下图: 在游戏里,我们也会用到这样的消息框.例如用户按了返回按钮,一般都会弹出一个确认退出的按钮.用户在执行某些重要操作时,我们总是希望再一次确认以防用户的无意操作,以此来

如何在一堆框架(Frame)上弹出div层【转载】

框架Frame,不知道现在还有多少人会用,至少我学用html到现在,只是知道有这种东西存在,却没见到也没用到过.上周终于碰到个机会让我一窥框架是个啥东西,然后由于项目的需要,我得做个div层置于所有的框架之上,做成下拉菜单的效果.折腾了一下,就记在这里吧. 第一个DEMO展示的是框架,点击这里查看. 用框架来布局这种后台管理类的界面,结构上非常清晰,维护上也应该比较方便,因为每个框架里展示的页面是独立的.但是在一堆frameset和frame上要浮动起一个div层来,我试了一下,基本上行不通.当

防止多个UIAlertView重叠弹出

http://www.jianshu.com/p/7ac398ef4532 项目中可能会遇到这种情况,好几个alertView因为逻辑关系全部弹出,用户需要一个个的点击才能将所有的alertView取消掉.或者说这种情况下,我们只需要弹出一个alertView就OK了. alertView是怎么弹出的?网上查找资料说是,每次执行[alertView show],这个方法的时候是新建了一个window,将alertView显示在了window上面.代码验证的确是这样的. 代码验证alertView

easyui datagrid 弹出窗口空白的解决方法

我的主页面,代码如下: Javascript代码 //添加数据弹出窗口 $(function(){ addDataWin = $('#addData-window').window({ href:'${basePath}/page/marketPlat2/addData/addData.jsp?workId=${workId}year=${year}&month=${month} &quarter=${quarter}&businessType=${businessType}&am