如何检测外部驱动器是否已安装?

如何检测外部驱动器是否已安装?

我有一个脚本,每晚将文件备份到外部驱动器。问题是 Nautilus 会自动安装外部驱动器,而脚本运行时无法安装外部驱动器。

脚本创建的挂载点/mnt/mirror和 Nautilus 创建的挂载点是/mnt/mirror_

如何检测外部驱动器是否已安装?

答案1

Nautilus 将其安装到/mnt/mirror_因为/mnt/mirror似乎已经在使用中。

  1. 您可以编辑并添加一行,以便每次都/etc/fstab挂载外部磁盘。 如果您使用其他文件系统,请更改 vfat。 您可以使用命令找到您的 UUID 和文件系统类型。 插入后,单击 nautilus 中的条目或使用命令挂载。/mnt/mirror

    UUID="12345-67890" /mnt/mirror vfat defaults,auto,users,rw 0 0


    sudo blkid
    mount /mnt/mirror
  2. 否则,请执行以下操作:
    使用mount返回系统当前安装的命令。

    显示所有当前安装:
    mount

    过滤掉包含单词“mirror”的安装:
    mount | grep "mirror"

    要在脚本中使用它,您可以执行以下操作:
    mounted=$(mount | grep "mirror")
    [ ! "$mounted" = "" ] && { echo -e "mirror mounts:\n$mounted"; }

    如果未找到包含“mirror”的安装,则不会有输出。

笔记

  • 如果你使用文件类型,你也可以同时将磁盘挂载到多个挂载点除了 ntfs。您可以将其安装到 ,/mnt/mirror无论/mnt/mirror_
    使用 ntfs 时,请确保先使用 卸载分区sudo umount /mnt/mirror_
  • 将“mirror”替换为您了解的有关该设备的其他内容,例如“sdb”。
  • 检查您的任何分区最后插入的可移动磁盘已安装:
    last_dev=$(dmesg | grep "removable" | sed -e 's/.*\[//g' -e 's/\].*//' | tail -n1)
    mounted=$(mount | grep $last_dev)
    echo -e "last removable disk mounts\n:$mounted"

相关内容