通常我们在 /mnt 或 /media 目录下新建一个目录udisk作为挂载点

sudo mkdir /mnt/udisk

1.手动挂载:

挂载命令:

sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/udisk

 

卸载命令:

 sudo umount /mnt/udisk

注意:可以输入 fdisk -l查看你U盘的具体分区。如下图:

 

sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。

如果你的U盘或移动硬盘使用的是 exFAT 格式,安装 exfat-fuse 软件之后 mount 就支持了。

sudo apt-get install exfat-fuse

2.开机挂载:

如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。在末尾添加一行:

设备序号 挂载点 文件系统类型

/dev/sda1 /mnt/udisk ntfs defaults 0 0
每次开机就会自动挂载
注:按照具体要求来进行编辑,别忘了最后要执行mount -a 防止文件有错误导致无法开机。Ps 博主就在这死了一次,各位一定注意
 
 
3.热插挂载
需要希望想电脑一样,插上自动识别挂载在某一目录下,拔下自动umount,请按一下操作
sudo vi /etc/udev/rules.d/10-usbstorage.rules

P.S:此文件默认没有,需要新建
赋值以下内容即可,会自动在/mnt/udisk目录下挂载U盘
[ruby] view plaincopy

KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"  
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"  
IMPORT{program}="/sbin/blkid -o udev -p %N"  
ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"  
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"  
ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"  
ACTION=="add", ENV{mount_options}="relatime,sync"  
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umaskk=000"  
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umaskk=000"  
ACTION=="add", RUN+="/bin/mkdir -p /mnt/udisk/", RUN+="/bin/mount -o $env{mount__options} /dev/%k /mnt/udisk/"  
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/udisk/}", RUN+="//bin/rmdir /mnt/udisk/"
LABEL="media_by_label_auto_mount_end"

出处:https://indream.cn/2016/07/21/pi-mount-udisk/

===================================================================================================

外接U盘或移动硬盘时,默认不会自动挂载,所以需要用 mount 命令挂载。通常我们在 /mnt 或 /media 目录下新建一个目录作为挂载点。比如:

1
2
3
4
sudo mkdir /mnt/1GB_USB_flash
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/1GB_USB_flash
//用完之后卸载
sudo umount /mnt/1GB_USB_flash

sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。

挂载exFAT格式的硬盘
FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。

1
sudo apt-get install exfat-fuse

如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:

1
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0

挂载NTFS格式的硬盘(读写方式挂载)
默认挂载NTFS格式的硬盘只有只读权限,需要借助其它工具实现。

1
2
3
4
5
6
7
8
9
#安装所需软件包
sudo apt-get install fuse-utils ntfs-3g
#加载内核模块
modprobe fuse
#编辑fstab让移动硬盘开机自动挂载
sudo nano /etc/fstab
#在最后一行添加如下内容
/dev/sda1 /mnt/myusbdrive ntfs-3g defaults,noexec,umask=0000 0 0
#保存重启,即可生效

挂载FAT32格式的硬盘

1
2
3
4
5
6
7
#创建挂载点
sudo mkdir /mnt/myusbdrive
#编辑fstab让移动硬盘开机自动挂载
sudo nano /etc/fstab
#在最后一行添加如下内容
/dev/sda1 /mnt/myusbdrive auto defaults,noexec,umask=0000 0 0
#保存重启,即可生效

说明:
sda1是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。
umask=0000 0 0
前面四个0就是对所有人,可读可写可执行,
后面两个0,第一个代表dump,0是不备份
第二个代表fsck检查的顺序,0表示不检查
卸载:sudo umount /mnt/myusbdrive

查看挂载情况可使用以下命令。

1
2
cd /mnt/myusbdrive
ls

挂载U盘的更多细节请参考 RPi Adding USB Drives

 

出处:树莓派实验室

==================================================================================================

卸载USB设备

umount是一个文件解挂文件系统了,下面我们一起来看看关于linux下umount强行卸载设备的例子了,希望下文可以给各位带来帮助。
umount命令

解挂文件系统。umount [-ahnrvV][-t <文件系统类型>][文件系统]

umount可卸除目前挂在Linux目录中的文件系统。

线上在用的nfs访问时出了问题,导致/data1目录ls都无法进行输出,需要进行卸载掉 。而直接卸载时由于目录正被其他进程占用 ,无法直接umount,这里就结合fuser进行umount卸载。

1、直接卸载

[root@localhost /]# umount /data1/img
umount: /data1/img: device is busy
umount: /data1/img: device is busy

2、提示被占用,使用强制卸载

[root@localhost /]# umount -f /data1/img
umount2: Device or resource busy
umount: /data1/img: device is busy
umount2: Device or resource busy
umount: /data1/img: device is busy

注:使用-f 参数进行强制卸载时一般建议等一会儿再进行下面的操作,一些情况下处理需要1-2分钟的时间。

3、使用umount -f,问题依旧。使用fuser命令,先确认有那些进程在占用该目录

[root@localhost /]# fuser -cu /data1/img
/data1/img:                1757c(mysql)

上面查看发现是pid为1757的mysql用户起的进程在占用该目录。

4、确认mysql所起的进程可以kill 后,可以直接使用fuser 的k参数进行kill (也可以手动停掉1757进程再卸载)

[root@localhost /]# fuser -ck /data1/img
/data1/img:                1757c

注:这里k 就是kill的意思,注意没进行确认前要谨慎使用该参数。

确认

[root@localhost /]# fuser -c /mnt

[1]+  Killed                  dd if=1g of=/dev/null bs=1M  (wd: /mnt)

(wd now: /)

另外,umount异常时,也经常会用到 lsof 指定确认文件被什么进程占用

出处:https://blog.csdn.net/wendellluntan/article/details/73087874

=============================================================================================

最后在给一个 fuser命令 用法详解 做为参考:

fuser命令_Linux fuser 命令用法详解

树莓派挂载和卸载U盘或移动硬盘的更多相关文章

  1. Linux 挂载和卸载U盘

    一般的U盘挂载方法: mount [-fnrsvw]  [-t vfstype] [-o options] device dir 参数:device表示要挂载的设备,dir表示挂载点 -t 指定设备的 ...

  2. 在linux下挂载、卸载U盘

    首先你得保证你的U盘的格式是fat格式. 先进入/mnt/目录新建一个usb目录 cd /mnt/ mkidr usb 先fdisk -l,然后插上U盘,fdisk -l 查看是否有新的硬盘添加上来了 ...

  3. Linux格式化、挂载及卸载数据盘

    注意: 磁盘分区和格式化是高风险行为,请慎重操作.本文档描述如何处理一个新买的数据盘,如果您的数据盘上有数据,请务必对数据进行备份以避免可能的数据丢失. 服务器仅支持对 数据盘 进行分区,而不支持对  ...

  4. LINUX 下挂载 exfat 格式 u 盘或移动硬盘

    apt-get update apt-get install exfat-utils

  5. 在CentOS 6.x中支持exfat格式的U盘(移动硬盘)

    参考资料:http://linux.cn/article-1503-1.html CentOS系列一直没有默认支持使用exfat格式的大容量U盘(移动硬盘),但可以通过添加fuse-exfat模块来支 ...

  6. Linux或树莓派3——挂载U盘、移动硬盘并设置rwx权限

    话说最近在树莓派上搭建了一个owncloud,因为树莓派的存储空间有限,就插了个16G的U盘,然后设置成开机自动挂载.这里稍微注意一下的是U盘的格式最好不要NTFS,因为一般情况下NTFS格式的文件系 ...

  7. Linux(CentOS)挂载NTFS格式的U盘、移动硬盘

    以下操作均在root下执行的 1.U盘挂载 mkdir /mnt/usb //创建一个目录,用于挂载U盘 fdisk -l //查看系统中挂载的U盘,若系统有一块硬盘sdb1 代表你的U盘,/dev/ ...

  8. CentOS提示::unknown filesystem type 'ntfs'自动挂载NTFS分区的U盘或者移动硬盘

    CentOS默认源里没有NTFS-3G,想要添加ntfs支持,无非是自己下载编译安装或者加源yum安装.重新安装了一个CentOS7,用的是添加aliyun的epel源来yum安装的方式,简单易行. ...

  9. ubuntu 16.04 u盘挂载以及卸载

    1.列出所有磁盘 sudo fdisk -l 2.最后一段信息显示的为u盘 Device Boot Start End Sectors Size Id Type /dev/sdb4 * 256 786 ...

随机推荐

  1. Android之RecyclerView实现时光轴

    做项目的过程中有个需求需要时光轴,于是网上找了部分资料 ,写了个案例,现在分享给大家. 如图: activity_main.xml <?xml version="1.0" e ...

  2. CF938G Shortest Path Queries

    首先只有询问的话就是个WC的题,线性基+生成树搞一搞就行. 进一步,考虑如果修改操作只有加边怎么做. 好像也没有什么变化,只不过需要在线地往线性基里插入东西而已. 删边呢? 注意到线性基这个玩意是不支 ...

  3. 新手如何正确使用CLion之输出hello world

    以前只使用过vc6.0,在用过jetbrain的pycharm后就考虑换个c++的编译器了,第一还是考虑了vs2017但用惯了色彩鲜艳的jb产品后竟然有点不习惯vs,最后还是果断选择了jb的CLion ...

  4. 处理Oracle EBS R12登录首页跳转出现unexpected error问题(转)

    原文地址: 处理Oracle EBS R12登录首页跳转出现unexpected error问题 经上网搜索,造成此问题的问题有很多,如内存不足.系统参数配置不当.程序代码.系统表空间不足等原因.查询 ...

  5. hadoop hbase install (2)

    reference: http://dblab.xmu.edu.cn/blog/install-hbase/ reference: http://dblab.xmu.edu.cn/blog/2139- ...

  6. git and github问题集锦

    本人遇到的:

  7. 《Python》 生成器和列表推导式

    一.初识生成器: 生成器就是自己用Python代码写的迭代器,生成器的本质就是迭代器. 1.Python中提供的生成器: 1.生成器函数: 使用yield语句而不是return语句返回结果.yield ...

  8. 怎么让wordpress用sqlite3 搭建轻量级博客系统

    wordpress 默认是用mysql作为数据库支持,这个对个人站长来说还是有点麻烦了些.特别是如果以后网站备份迁移就有点事多了. 之前用django开发自己的博客感觉其实用sqlite3作为数据库插 ...

  9. L1-007 念数字

    输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出fu字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8 ...

  10. spring数据源

    包含三部分内容 1.spring jdbc 2. spring datasource 3.spring Connection pooling 完整的项目请往百度云盘下载: https://pan.ba ...