Ubuntu插入usb时自动挂载硬盘到mnt,拔出时自动卸载

【超详细】Ubuntu 14.04 把U盘挂载到虚拟机Linux中 真实机插入U盘,然后看虚拟机有下角这个图标,如果是灰色的,就代表还没有识别出你的U盘 这时候直接点击一下这个图标 然后虚拟机就会自动弹出来这个界面(没有界面的也没关系,可以用df查看) ... 阅读详情

/etc/udev/rules.d/99-usb-mount.rules

ACTION=="add", SUBSYSTEMS=="usb", RUN+="/usr/local/bin/usb-mount.sh"
ACTION=="remove", SUBSYSTEMS=="usb", RUN+="/usr/local/bin/usb-umount.sh"

无注释版

/usr/local/bin/usb-mount.sh

#!/bin/bash

MOUNT_POINT="/mnt"

devices=$(lsblk -no NAME,TRAN | grep usb | awk '{print $1}')
for device in $devices; do
    partitions=$(lsblk -no NAME,TRAN,PARTLABEL $device | grep -v usb | grep -v "Microsoft reserved partition" | sed "s/└─//g" | awk '{print $1}')
    for partition in $partitions; do
        [ ! -d "$MOUNT_POINT/$partition" ] && mkdir -p "$MOUNT_POINT/$partition"
        if ! mountpoint -q "$MOUNT_POINT/$partition"; then
            mount -o uid=$(id -u),gid=$(id -g),umask=000 /dev/$partition "$MOUNT_POINT/$partition"
        fi
    done
done

/usr/local/bin/usb-umount.sh

#!/bin/bash

MOUNT_POINT="/mnt"

mounted_devices=$(awk '/\/mnt/ {print $1}' /proc/mounts | sed "s/\/dev\///g")
for device in $mounted_devices; do
    if ! lsblk -o NAME,TRAN | grep -q "$device"; then
        umount "/dev/$device"
        rmdir "$MOUNT_POINT/$device"
    fi
done

说明

mount -o uid=$(id -u),gid=$(id -g),umask=000 /dev/$partition "$MOUNT_POINT/$partition"

这里是因为exFAT等格式不支持权限,如果直接chmod虽然不会报错但也没法改,只能模拟权限。
如果只需要读取的话可以删掉命令参数,改成:

mount /dev/$partition "$MOUNT_POINT/$partition"

有注释版(可以不看)

/usr/local/bin/usb-mount.sh

#!/bin/bash

# 定义挂载点和日志文件路径
MOUNT_POINT="/mnt"
LOG_FILE="/usr/local/bin/usb.log"

# 获取所有USB设备
devices=$(lsblk -no NAME,TRAN | grep usb | awk '{print $1}')

for device in $devices; do
    echo "$(date) - Detected USB device: $device" >> "$LOG_FILE"

    # 获取设备的所有分区
    partitions=$(lsblk -no NAME,TRAN,PARTLABEL /dev/sda | grep -v usb | grep -v "Microsoft reserved partition" | sed "s/└─//g" | awk '{print $1}')

    for partition in $partitions; do
        echo "$(date) - Detected partition: $partition" >> "$LOG_FILE"

        # 检查挂载点是否存在,如果不存在则创建
        [ ! -d "$MOUNT_POINT/$partition" ] && mkdir -p "$MOUNT_POINT/$partition" && echo "$(date) - Created mount point: $MOUNT_POINT/$partition" >> "$LOG_FILE"

        # 尝试挂载分区
        if ! mountpoint -q "$MOUNT_POINT/$partition"; then
            mount -o uid=$(id -u),gid=$(id -g),umask=000 /dev/$partition "$MOUNT_POINT/$partition" && echo "$(date) - Partition $partition mounted on $MOUNT_POINT/$partition" >> "$LOG_FILE" || echo "$(date) - Failed to mount $partition on $MOUNT_POINT/$partition" >> "$LOG_FILE"
        else
            echo "$(date) - Partition $partition is already mounted" >> "$LOG_FILE"
        fi
    done
done
echo "$(date) - USB mount process completed" >> "$LOG_FILE"

/usr/local/bin/usb-umount.sh

#!/bin/bash

# 定义挂载点和日志文件路径
MOUNT_POINT="/mnt"
LOG_FILE="/usr/local/bin/usb.log"

echo "$(date) - Starting USB unmount process" >> "$LOG_FILE"

# 获取当前挂载的USB设备
mounted_devices=$(awk '/\/mnt/ {print $1}' /proc/mounts | sed "s/\/dev\///g")

for device in $mounted_devices; do
    echo "$(date) - Checking device: $device" >> "$LOG_FILE"

    # 检查设备是否仍然存在
    if ! lsblk -o NAME,TRAN | grep -q "$device"; then
        # 卸载设备
        umount "/dev/$device" && echo "$(date) - Device $device unmounted" >> "$LOG_FILE" || echo "$(date) - Failed to unmount $device" >> "$LOG_FILE"
        rmdir "$MOUNT_POINT/$device"
    else
        echo "$(date) - Device $device alive" >> "$LOG_FILE"
    fi
done
echo "$(date) - USB unmount process completed" >> "$LOG_FILE"
Linux手动挂载移动硬盘全攻略:从识别设备到自动挂载 在Linux系统中,文件系统管理遵循'一切皆文件'的核心理念,外部存储设备需要通过'挂载'操作才能接入目录树被访问。这一机制赋予用户对存储设备的完全控制权,允许精确指定挂载点、设置读写权限及优化参数,是系统管理、数据备份和服务器运维的基础技能。理解设备文件(如/dev/sdX)与不同文件系统(如NTFS、ext4、exFAT)的识别方法是关键。通过lsblk、mount等命令进行手动挂载,不仅能解决跨平台数据迁移时的访问问题,更是实现自动化管理(如配置/etc/fstab实现开机自动挂载)的前提。掌握这些操 阅读详情

相关推荐

Linux磁盘管理精讲:mount与umount挂载卸载实战手册

在Linux系统中,磁盘管理是系统运维与服务器管理的基础技能,而挂载与卸载操作更是其中的核心环节。理解文件系统如何接入目录树,掌握设备与挂载点的映射关系,是每位运维工程师和开发者的必备知识。mount命令负责将存储设备关联到指定目录,umount则用于安全断开连接,两者共同构成Linux存储管理的基石。本文从基础概念出发,系统讲解常用挂载参数、开机自动挂载配置(fstab)、U盘/ISO镜像/NFS等典型场景的操作方法,并重点剖析“target is busy”“Read-only file system”

weixin_34221773的博客 385

ubuntu实现自动挂载u盘

但是,有些设施可以在没有图形工具的情况下进行复制,并且在系统上占用的空间非常小。例如,在我的设置中,我已经实现了USB自动挂载服务,而无需使用任何外部工具/服务,只有udev和systemd。

a1309525802的博客 2959

Linux外置存储挂载全攻略:从原理到实战,解决移动硬盘/U盘使用难题

在Linux系统中,文件系统管理遵循‘一切皆文件’的核心理念,通过树状层次结构组织所有资源。其关键在于‘挂载’操作,即通过mount命令将存储设备(如硬盘分区)关联到文件树的一个目录节点,从而使数据可被访问。这一机制赋予了系统极高的灵活性与控制力,是服务器运维、嵌入式开发和桌面应用的基础。理解挂载原理,能有效解决跨平台数据交换、系统扩容和自动化部署中的存储管理问题。本文聚焦于外置存储设备(如移动硬盘和U盘)的挂载实践,深入探讨了文件系统兼容性(如exFAT、NTFS)、自动挂载配置(通过/etc/fstab

weixin_34138056的博客 419

Ubuntu上实现U盘自动挂载

其中fstab的方式需要提前获知U盘的UUID参数,不太方便,因此下边只使用udev方式。然后根据上述规则,我们进入/usr/local/bin,分别创建两个脚本usb-mount.sh和usb-umount.sh,内容如下。当然,程序本质上也是利用udev,需要安装libudev库。首先进入/etc/udev/rules.d/,新建一个规则如99-usb-mount.rules,添加以下内容。通过sudo mount /dev/sda1 /mnt/usb也可以实现挂载,可通过df -h查看确认。

csdn727的博客 3247

树莓派3 USB挂载稳定性实战指南:从供电到systemd挂载

USB设备挂载是嵌入式Linux系统的基础能力,其本质涉及内核模块加载、udev设备识别、文件系统兼容性及电源管理等多层机制。在资源受限的树莓派3平台上,USB并非即插即用,而是需统筹处理供电稳定性、设备节点持久化(UUID/PARTUUID)、fstab安全参数与systemd原生挂载单元等关键环节。尤其当用于NAS、物联网数据采集或无人值守部署时,传统桌面级自动挂载(如udisks2)易因IO错误触发卸载,导致服务中断。本文聚焦树莓派3-配置-挂载USB设备这一高频工程场景,详解如何通过内核日志诊断、供

weixin_30407613的博客 412

Ubuntu磁盘加密实战:VeraCrypt与TrueCrypt选型、安装与安全配置指南

磁盘加密是数据安全领域的核心技术,它通过对存储设备上的数据进行编码转换,确保未经授权的用户无法读取原始信息。其核心原理基于密码学算法,如AES、SHA-256等,将明文数据转化为密文,只有持有正确密钥(密码或密钥文件)才能解密访问。这项技术的价值在于为静态数据提供物理层面的安全防线,有效防止因设备丢失、被盗或不当处置导致的数据泄露。它广泛应用于保护个人隐私、企业商业机密,以及满足金融、医疗等行业的合规性要求。在Linux生态中,Ubuntu系统因其广泛的用户基础,成为部署磁盘加密方案的常见平台。本文将聚焦于

weixin_30814329的博客 337

Ubuntu启动后自动挂载U盘内容

1.先在相应目录下建好目录,比如我要把U盘挂载到/home/usb/disk1下,我就输入以下命令 sudo mkdir -p /home/usb/disk1 2.插上u盘还,查找U盘相关信息,输入以下命令 fdisk -l 3.根据查到的U盘信息,修改/etc/fstab,输入以下命令 sudo vim /etc/fstab 4.按“i”键进入修改模式,在文件目录后面追加以下内容: /dev/sda2 /home/usb/disk1 ntfs-3g rw 0 0 5.按“E

yushuir的专栏 3557

USB本地盘挂载与排查:从枚举到udev固定设备名

从USB协议的基本概念出发,理解设备枚举与块设备节点生成原理,是稳定使用U盘、移动硬盘的前提。许多运维和嵌入式开发者常遇到设备节点漂移、权限不足、挂载失败等问题,根源往往不在硬件,而在于对sysfs、udev和文件系统驱动的理解不够。通过dmesg日志定位枚举阶段、用udevadm反查设备属性、以UUID和by-id替代不稳定的sd*命名,能系统性解决Linux、Android及虚拟化场景下的USB_LocalDisk故障。本文结合典型掉盘、挂载报错等案例,给出可复现的命令与参数,并演示如何用udev规则将

weixin_30357231的博客 317

ubuntu挂载u盘

挂载u盘或者其它设备是为了能够对u盘的资源进行操作(写入或读取文件等),对u盘进行操作也能使用图形化界面,用鼠标进行操作,但一般情况下,在嵌入式等设备是没有图像化界面的,所以需要用命令的方式与u盘或者其它设备进行交互,即不能用鼠标去创建文件或文件夹。

qq_49438230的博客 2795

usbmount:简单的脚本集,用于为Linux系统自动挂载可移动设备

USB接口 USBmount软件包在插入时会自动挂载USB大容量存储设备(例如USB磁盘驱动器或USB机柜中的HD)。挂载点(默认为/media/usb[0-7] ),要考虑的文件系统类型以及挂载选项是可配置的。 插入多个设备后,将自动选择第一个可用的安装点。 如果插入的设备提供了型号名称,则会自动在/var/run/usbmount/MODELNAME创建指向安装点的符号链接。 当设备不再存在于系统中时(例如,在拔出设备后),usbmount会删除创建的符号链接。 执行(un)挂载的脚本由udev守护程序调用。 因此,USBmount需要2.6(或更高版本)内核。 USBmount旨在作为一种轻量级解决方案,独立于桌面环境。 希望在插入USB设备时显示图标的用户应使用其他替代方法。 配置文件/etc/usbmount/usbmount.conf描述了如何配置软件包。 关于闪存驱动

Linux下使用Usbmount实现USB设备自动挂载

Usbmount工具可以实现usb设备得自动加/卸载,本文介绍了使用Usbmount实现USB设备自动挂载的方法。

Ubuntu下手动挂载U盘

Ubuntu桌面版系统往往能自动识别U盘并自动挂载到/media下,且可以通过/media访问U盘;而服务器版不能自动识别U盘,往往需要手动挂载,手动挂载的程序并不麻烦,一下来了解一下。一、确定U盘在系统中的设备号在插入U盘之前之后两次输入cat /proc/partitions在第二次显示结果中多出来的即为U盘的设备号。因为电脑里是双硬盘,所以U盘在系统中为/dev/sdc1。关于/proc目录...

姿势水平 2万+

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2458

ubuntu下加载usb磁盘

一般是有进程正在使用挂载点目录,比如终端正定位在该目录下。若仍无法卸载,可使用。是 systemd 提供的专用挂载工具,它与 systemd 的挂载单元管理集成。表示当规则匹配时,在 udev 的事件处理过程中执行指定的程序。如果提示没有root权限,就需要增加到dev规则(下面方法实现)。如果您的 Jetson 默认用户不是 uid=1000,请用。表示追加,如果同一个事件有多个规则,会依次执行。,或者用它提供的其他功能来管理存储设备。安装后,可以手动挂载磁盘,例如。,说明系统缺失相关工具集,安装。

深之JohnChen的专栏 570

IIR数字滤波器原理,设计方法及嵌入式应用

基于STM32的二阶直接II型巴特沃斯低通滤波器设计方法及应用

weixin_38342580的博客 1万+

VFH避障/局部路径规划算法

VFH避障/局部路径规划算法 本文章是我看《The Vector Field Histogram-Fast Obstacle Avoidance for Mobile Robots》论文时候的笔记,感兴趣的欢迎去看原论文。 VFH中有一些概念是从其他算法中借鉴过来的,并且VFH算法本身就是对VFF(Virtural Force Field)的一种改进,其中有很多的相似之处。所以按照原论文的思路,先介绍由CMU提出的Certainty Grid算法中的一些概念,再介绍一下势场法中的一些概念,接着介绍一下VFF

qq_41845878的博客 8119

NVIDIA Jetson AGX Xavier 硬盘挂载,扩展 /home 主目录

NVIDIA Jetson AGX Xavier 使用前的必需操作,硬盘挂载,/home 主目录的空间扩展

weixin_67026673的博客 2508

MIPI CSI-2数据加扰技术解析:LFSR实现与多通道同步策略

本文深入解析了MIPI CSI-2协议中的数据加扰技术,该技术通过线性反馈移位寄存器(LFSR)对图像数据进行随机化处理,旨在有效降低高速传输中的电磁干扰。文章详细阐述了LFSR的工作原理、D-PHY与C-PHY物理层不同的初始化与同步策略,并探讨了多通道同步的实现方法,为高速接口的EMC设计与调试提供了实践指导。

weixin_29207149的博客 386

Linux存储管理核心:从设备识别到自动挂载的完整指南

在Linux系统中,存储设备管理是一个基础且核心的概念,其关键在于理解‘一切皆文件’的哲学。操作系统通过设备文件与物理硬件交互,而文件系统则定义了数据在存储介质上的组织规则。挂载机制的技术价值在于将存储设备关联到目录树,为数据访问提供统一入口,这赋予了管理员极大的灵活性和控制力。该机制广泛应用于服务器运维、嵌入式开发、数据备份及多系统文件共享等场景。本文以NTFS格式U盘为例,详细解析了从使用lsblk识别设备、创建挂载点目录到通过mount命令完成关联的完整流程,并深入探讨了利用/etc/fstab配置文

weixin_33970449的博客 507

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

YOLO26优化:原创自研 | 自研独家创新DSAM注意力 ,基于BiLevelRoutingAttention注意力升级

提出新颖的注意力DSAM(Deformable Bi-level SpatialAttention Module),创新度极佳,适合科研创新,效果秒杀CBAM,Channel Attention+Spartial Attention升级为新颖的Deformable Bi-level Attention+Spartial Attention

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 367

Ubuntu 20.04系统迁移实战:从小容量NVMe硬盘升级至大容量硬盘的完整指南

系统迁移是Linux运维和系统管理中常见的高级操作,其核心原理在于完整复制文件系统、引导信息和分区表结构,确保新环境能无缝启动并保留所有配置与数据。这项技术对于服务器扩容、硬件升级和数据中心维护具有重要价值,尤其在开发环境迁移、老旧服务器替换等场景下应用广泛。通过对比dd、rsync等工具的实现方式,可以深入理解Linux启动流程与文件系统底层机制。本文以Ubuntu 20.04为例,详细解析了从小容量NVMe硬盘升级至大容量硬盘的完整操作流程,涵盖了分区规划、数据同步、引导修复等关键环节,并针对NVMe固

weixin_33834628的博客 419

初探802.11协议(6)——Wi-Fi 6新特性简介

Wi-Fi 6新机制(特性)介绍

FanFF的博客 1522

linux 挂载U盘

第1步:在ubuntu上面查看系统是否对u盘命名 输入指令:fdisk–l  可以看到,记住u盘的目录名称/dev/sdb1:    第2步:查看U盘具体信息并确认系统找到u盘 指令:fdisk–l /dev/sdb1    第3步:创建u盘挂载目录 指令:mkdir/mnt/usb        注意:/mnt是系统目录,不要更改,实际上只是在原有的mnt目录下创建了/usb

ymangu的专栏 1535

《基于YOLOv5/8/10的足球比赛球员识别系统毕设全指南:从开发到部署的一站式实战》

本文提出了一个基于YOLO系列模型的足球球员识别系统,具备完整的开发流程和技术方案。系统通过YOLOv5/8/10三大框架实现球员检测,平衡精度与速度需求。开发过程包含数据标注与增强、模型训练调优、PyQt5界面开发等关键环节,并提供了模型轻量化、多任务扩展等优化方向。系统可实现单张图像和视频流的实时识别,支持跨设备部署,适用于赛事分析和训练复盘场景。项目特色在于完整的技术实现路径和对不同YOLO框架的性能对比,为计算机视觉在体育领域的应用提供实践参考。

m0_71589036的博客 217

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux中U盘挂载

8.7 使用usb设备 Ubuntu下手动挂载U盘 Ubuntu桌面版系统往往能自动识别U盘并自动挂载到/media下,且可以通过/media访问U盘;而服务器版不能自动识别U盘,往往需要手动挂载,手动挂载的程序并不麻烦,一下来了解一下。 一、确定U盘在系统中的设备号 在插入U盘之前之后两次输入 在第二次显示结果中多出来的即为U盘的设备号。 关于/proc目录:这个目录是一个虚拟的目录,它是系统...

咖喱辣椒 2041

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 本地设备使用Docker安装OnlyOffice并开启SSL(自动续签HTTPS证书)
是Pro呀
博客等级 码龄10年 17粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值