详谈android 6.0 fuse文件系统的挂载和卸载问题

yizhihongxing

详谈android 6.0 fuse文件系统的挂载和卸载问题

什么是fuse文件系统

fuse是Filesystem in Userspace(用户空间文件系统)的缩写,它允许非特权用户创建并访问自定义文件系统。fuse将文件操作请求发送给fuse内核模块,内核模块将这些请求转发到用户空间的fuse库,在fuse库中,用户可以通过调用相应的协议来完成文件系统的实现。fuse文件系统的一个重要特点是非特权用户也可以对文件系统进行操作,这有利于应用程序的开发和使用。

android中的fuse文件系统

android中的fuse文件系统主要使用在设备之间的文件共享上。实际上,android和传统的Linux系统一样,都使用了fuse文件系统。在android 6.0中,android系统使用了一个特殊的fuse文件系统,称为sdcardfs,它是一个用于SD卡文件系统的虚拟文件系统,可以将多个SD卡挂载点合并在同一个文件系统中。

android 6.0 fuse文件系统的挂载

在android 6.0中,sdcardfs文件系统默认挂载在"/mnt/runtime/default"目录下。用户可以使用以下命令查看文件系统的挂载情况:

adb shell mount | grep sdcardfs

例如,用户想将SD卡挂载到"/mnt/sdcard1"目录下,可以使用以下命令实现:

adb shell mkdir /mnt/sdcard1
adb shell sdcard -u 1023 -g 1023 -m 0660 -d /mnt/runtime/default -u media_rw -g media_rw -m 0660 -d /mnt/media_rw/sdcard1 /mnt/sdcard1

其中,"-u"表示文件的UID,"-g"表示文件的GID,"-m"表示文件的权限。上面的命令将SD卡的UID、GID和权限设置为1023、1023和0660。另外,"-u media_rw -g media_rw -m 0660 -d /mnt/media_rw/sdcard1"表示将文件的UID、GID和权限设置为media_rw、media_rw和0660,同时设置挂载点为"/mnt/media_rw/sdcard1"。

android 6.0 fuse文件系统的卸载

用户可以使用以下命令卸载SD卡文件系统:

adb shell umount /mnt/sdcard1

需要注意的是,卸载sdcardfs文件系统时,需要卸载所有挂载点。

示例一

例如,用户在android 6.0中将SD卡挂载到"/mnt/sdcard1"目录下,然后通过MTP协议将文件拷贝到SD卡中。当用户想要卸载SD卡时,可以使用以下命令卸载:

adb shell umount /mnt/sdcard1

示例二

又例如,用户想将两个SD卡挂载到不同的目录下,可以使用以下命令:

adb shell mkdir /mnt/sdcard1
adb shell sdcard -u 1023 -g 1023 -m 0660 -d /mnt/runtime/default -u media_rw -g media_rw -m 0660 -d /mnt/media_rw/sdcard1 /mnt/sdcard1
adb shell mkdir /mnt/sdcard2
adb shell sdcard -u 1023 -g 1023 -m 0660 -d /mnt/runtime/default -u media_rw -g media_rw -m 0660 -d /mnt/media_rw/sdcard2 /mnt/sdcard2

这样,用户就可以将文件分别保存到两个SD卡中。当用户需要卸载SD卡时,需要分别卸载所有挂载点:

adb shell umount /mnt/sdcard1
adb shell umount /mnt/sdcard2

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详谈android 6.0 fuse文件系统的挂载和卸载问题 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • xml验证器

    XML验证器 XML (可扩展标记语言) 是一种广泛使用的标记语言,用于在Web应用程序和其他数据交换应用程序之间共享数据。但是,手动验证XML文档是否符合特定的格式可能是非常耗时和困难的。 为了解决这个问题,XML验证器被开发出来,可以自动检测XML文档中的错误,并快速定位并修复问题。在本文中,我们将介绍XML验证器的一些基本知识和如何使用它来验证XML文…

    其他 2023年3月28日
    00
  • Android中RecyclerView布局代替GridView实现类似支付宝的界面

    Android中RecyclerView布局代替GridView实现类似支付宝的界面攻略 在Android中,我们可以使用RecyclerView布局来代替GridView,以实现类似支付宝的界面。RecyclerView是一个强大的列表控件,它提供了更好的性能和灵活性。 以下是实现该界面的完整攻略: 步骤1:添加依赖 首先,确保在项目的build.grad…

    other 2023年8月20日
    00
  • IDE – vscode

    IDE – vscode IDE是Integrated Development Environment的缩写,即集成开发环境。它是一个包含代码编辑器、编译器、调试器等多种开发工具的软件应用程序,为程序员提供了尽可能的便利。 在众多的IDE工具中,vscode无疑是一个备受好评的开源IDE。它基于Electron框架开发,由微软推出,支持多种编程语言,如Jav…

    其他 2023年3月28日
    00
  • 魔兽世界wlk怀旧服毁灭术堆什么属性 毁灭术属性优先级选择攻略

    魔兽世界wlk怀旧服毁灭术堆什么属性 毁灭术属性优先级选择攻略 简介 在WOW Classic怀旧服中,毁灭术是术士职业的一种重要输出技能。那么在玩WOW Wlk怀旧服时,我们该如何选择适合的属性来提升毁灭术的输出效果呢? 在本篇攻略中,我们将详细讲解影响毁灭术输出的属性,并给出毁灭术属性优先级的选择攻略,帮助你在游戏中提升毁灭术的输出效果。 影响毁灭术输出…

    other 2023年6月27日
    00
  • 关于sql:select语句中的case

    在SQL中,SELECT语句中的CASE表达式可以根据条件返回不同的值。CASE表达式可以用于SELECT语句中的任何位置,包括SELECT列表、WHERE子句和ORDER BY子句。以下是关于SQL中SELECT语句的CASE表达式的完整攻略,包括语法、用法和两个示例说明。 语法 在SELECT语句中使用CASE达式的语法如下: SELECT 1, col…

    other 2023年5月9日
    00
  • 2个list取差集

    2个list取差集 在实际开发中,经常需要对两个列表进行操作,其中一个常见的需求是取两个列表的差集。Python内置的集合操作可以非常方便地实现这个功能,本文介绍两种不同的方法,适用于不同的场景。 方法一:set()函数 可以使用Python内置函数set()构造一个集合,再通过集合的差集运算获取两个列表的差集。这种方法比较简单,适用于列表中的元素不重复,并…

    其他 2023年3月28日
    00
  • vue-cli3.0 特性解读

    Vue CLI 3.0 特性解读 Vue CLI 3.0 是一个基于 Vue.js 的官方脚手架工具,它提供了一套完整的开发环境,帮助开发者快速搭建 Vue.js 项目。下面将详细解读 Vue CLI 3.0 的特性,并提供两个示例说明。 1. 配置文件可视化 Vue CLI 3.0 引入了一个全新的可视化配置文件,使得开发者可以直观地配置项目。通过运行 v…

    other 2023年7月29日
    00
  • C++Node类Cartographer开始轨迹的处理深度详解

    “C++Node类Cartographer开始轨迹的处理深度详解”是关于使用C++ Node类库Cartographer中开始轨迹处理的详细攻略。 在Cartographer中,开始轨迹处理包括以下几个步骤: 1.创建一个Cartographer运行时环境 需要使用Cartographer的前提是已经在计算机上安装了Cartographer运行时环境,可以在…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部