mount和umount



一、将iso文件挂载到文件系统中:

     1)新建一个文件夹,作为iso文件的挂载点

      [root@yang-centos /]# mkdir /media/iso
      [root@yang-centos /]# ls /media/
      3E4E-B820  DVD  iso


      2)将iso文件挂载到/media/iso下:

       [root@yang-centos /]# ls /media/iso/
      [root@yang-centos /]# mount -o loop /usr/local/src/CentOS-6.4-i386-bin-DVD2.iso  /media/iso
      [root@yang-centos /]# ls /media/iso
      CentOS_BuildTag  RPM-GPG-KEY-CentOS-6           RPM-GPG-KEY-CentOS-Testing-6
     EULA             RPM-GPG-KEY-CentOS-Debug-6     TRANS.TBL
     Packages         RPM-GPG-KEY-CentOS-Security-6


    从上面的命令可知,挂载前/media/iso的内容是空的,挂载CentOS-6.4-i386-bin-DVD2.iso后,/media/iso里有内容了,就是CentOS-6.4-i386-bin-DVD2.iso的内容


二、umount文件

       [root@yang-centos /]# umount /media/iso/
       [root@yang-centos /]# ls /media/iso
       [root@yang-centos /]# 

       从上面的命令可知,umount /media/iso/后,iso里的内容不见了,umount成功




在 Android 中,U 盘的挂载卸载是由系统底层处理的,上层应用程序可以通过监听系统广播来获取 U 盘的挂载卸载事件,并根据业务逻辑进行处理。 具体来说,当 U 盘插入设备时,系统会发送 `ACTION_MEDIA_MOUNTED` 广播;当 U 盘从设备中拔出时,系统会发送 `ACTION_MEDIA_REMOVED` 或 `ACTION_MEDIA_BAD_REMOVAL` 广播。应用程序可以创建一个 BroadcastReceiver 来监听这些广播,然后根据业务逻辑进行处理。 以下是一个简单的示例代码: ```java public class UsbReceiver extends BroadcastReceiver { private static final String TAG = "UsbReceiver"; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Uri uri = intent.getData(); String path = uri.getPath(); if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) { Log.d(TAG, "U盘已挂载,路径为:" + path); // 执行挂载后的操作 // 例如:显示文件列表、复制文件等 } else if (action.equals(Intent.ACTION_MEDIA_REMOVED) || action.equals(Intent.ACTION_MEDIA_BAD_REMOVAL)) { Log.d(TAG, "U盘已卸载,路径为:" + path); // 执行卸载后的操作 // 例如:关闭文件列表、清空缓存等 } } } ``` 在应用程序中注册 BroadcastReceiver,示例如下: ```java public class MainActivity extends AppCompatActivity { private UsbReceiver usbReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 注册 UsbReceiver usbReceiver = new UsbReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_MEDIA_MOUNTED); filter.addAction(Intent.ACTION_MEDIA_REMOVED); filter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL); filter.addDataScheme("file"); registerReceiver(usbReceiver, filter); } @Override protected void onDestroy() { super.onDestroy(); // 注销 UsbReceiver unregisterReceiver(usbReceiver); } } ``` 需要注意的是,在处理 U 盘挂载卸载事件时,应用程序应该遵循以下几个原则: 1. 不要在主线程中进行耗时操作,应该使用异步线程或线程池来处理; 2. 尽量避免在 U 盘未完全挂载或卸载完成时进行操作,否则可能会出现文件读写异常等问题; 3. 对于 U 盘的权限路径等信息,应该进行合理的校验处理,避免出现安全漏洞异常情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值