当前位置:  技术问答>linux和unix

如何动态挂载移动硬盘

    来源: 互联网  发布时间:2016-04-23

    本文导语:  最近本人在做PVR产品的开发工作,涉及使用移动硬盘的问题。我们使用移动硬盘作为刻录节目的存储空间,首先我们需要挂在上去,目前用户移动硬盘的文件系统可能有FAT32NTFS等,还有一种情况就是用户的移动硬盘可...

最近本人在做PVR产品的开发工作,涉及使用移动硬盘的问题。我们使用移动硬盘作为刻录节目的存储空间,首先我们需要挂在上去,目前用户移动硬盘的文件系统可能有FAT32NTFS等,还有一种情况就是用户的移动硬盘可能有好几个分区,也不知道分区的格式,假设我们通过多次尝试知道分区2为fat文件格式,通过$mount -t -vfat /dev/sda2  /mnt/smit 来挂载文件了,卸载只是需要$umount /mnt/smit就可以了。
   但是,我们不可能预知哪个分区是哪个文件系统,并且知道有几个分区,虽然说可以用fdisk -l可以查看,但是在开发嵌入式产品中,系统资源受限,有没有一个好点的办法,动态获取系统的信息通过程序再分析确定你的移动硬盘有几个分区,且各为什么文件系统格式,再正确挂载呢?

|
没这么麻烦
一般Linux各个版本中是用udev来实现自动挂载的 
内核发现有新的USB设备接入时 会发出一个event 里面包含了这个设备是什么类型 比如鼠标 键盘 移动硬盘等等 
如果是移动硬盘 它会里面也会包含移动硬盘信息 多少个分区 每个分区的信息等等 具体请参考udev代码
因为udev还创建节点 加载驱动等动作 比较复杂 你可以运行udev-monitor再插入移动硬盘看看输出 其实非常简单的

|
要想直接调用一个函数估计是没有的,不过你可以参考fdisk和blkid的源代码,然后集成到你的程序中!

fdisk所在的源码包:util-linux; blkid所在的源码包:e2fsprogs;

good luck!


|
fdisk -l 查看有几个分区
blkid 获得每个分区的文件系统信息

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助:硬盘动态加载问题
  • 程序如何动态检测USB硬盘的插入及如何判断有几个分区
  • 关于动态改变硬盘分区导致不能引导启动Liunx,谢谢!!
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 动态库调用动态库
  • linux动态链接库里全局变量和静态变量会导致动态库不可重入吗?
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • 关于动态菜单项,注意,不是动态菜单(一定给分)
  • Linux下,怎么确定动态库的绝对位置(动态库里面确定)?
  • 为什么动态生成的图片,JSP不能动态的获得
  • 请问:能不能动态的运行时生成对象(动态定义对象), 要涉及到哪些技术, 反射,序列化...??
  • 动态加载动态库问题--在线等
  • C#实现动态显示及动态移除图片方法
  • 静态库,动态库,静态链接和动态链接
  • 在linux下(c++),如何动态调用 动态库(.so)? 为什么我编译报错:undefined reference to "dlopen"
  • 程序发布的问题(动态连接库的问题)
  • JSP动态缓存 JimStoneCache
  • 怎么调试unix动态库.
  • 如何调用动态
  • 动态编译与静态编译驱动程式疑问?
  • 关于动态库的问题,谢谢!
  • linux动态路由问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3