简单的 USB 磁盘挂载命令

简单的 USB 磁盘挂载命令

在典型的 GUI 文件管理器(如 PCManFM)中,我只需单击 USB 驱动器的图标即可安装该驱动器。是否有一个类似的命令可以使用它在安装驱动器之前在正确的位置(/media/USER/label)自动创建一个目录?我使用的是 Debian 9。

答案1

我认为在这种情况下最好的方法是使用 udev。准备好了,复制粘贴解决方案:

只需使用以下内容创建文件 /etc/udev/rules.d/11-media-by-label-auto-mount.rules :

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"  
# Import FS infos  
IMPORT{program}="/sbin/blkid -o udev -p %N"  
# Get a label if present, otherwise specify one  
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"  
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"  
# Global mount options  
ACTION=="add", ENV{mount_options}="relatime"  
# Filesystem-specific mount options  
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"  
# Mount the device  
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"  
# Clean up after removal  
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"  
# Exit  
LABEL="media_by_label_auto_mount_end"

创建脚本并保存后,使用以下命令重新加载 udev:

udevadm control --reload-rules

现在,当您连接 USB 存储设备时,udev 应自动在 /media 下使用设备 ID 或设备标签(如果您已指定)创建一个目录,并挂载该设备。如果断开设备连接,驱动器目录(位于 /media 中)将被自动删除。

要了解有关 udev 的更多信息,请阅读

答案2

优盘2

udiskctl mount -b /dev/sdXy

例子

udiskctl mount -b /dev/sdb1

挂载 1. 从 /dev/sdb 分区

尤迪卡

udisks --mount /dev/sdXy

答案3

这不是最好的解决方案,因为您在计算机上留下了一个空目录,用于存放要安装的每个设备的标签。

但是,您可以尝试这样的事情(警告:我还没有测试过):

MYDEVICE=/dev/foo
MYDEVLABEL=$(e2label $MYDEVICE)
mkdir -p /media/$USER/$MYDEVLABEL
mount $MYDEVICE /media/$USER/$MYDEVLABEL

请记住向命令添加必要的选项mount

答案4

即使我喜欢纯粹的 udev 答案,也有一个名为 usbmount 的工具,您可以通过以下方式安装

apt-get install usbmount

它自动挂载磁盘,并且通过其配置文件进行配置非常简单。
我根本不喜欢自动挂载,但有些客户要求它。

相关内容