如何从终端访问 USB 闪存驱动器?

如何从终端访问 USB 闪存驱动器?

我只能访问命令行。
我需要将我的数据(在用户文件夹中)备份到笔(USB DOK)中。

  • 如何手动安装闪存驱动器?
  • 复制命令应该是什么?

答案1

1. 查找驱动器名称

您需要知道驱动器的名称才能将其安装。为此,请执行下列操作之一(按我的偏好排序):

lsblk
sudo blkid
sudo fdisk -l

您正在寻找的分区应该类似于:/dev/sdb1。磁盘越多,字母可能越高。无论如何,找到它并记住它的名字。

2. 创建挂载点(可选)

这需要挂载到文件系统中某处。如果您比较懒,并且没有其他东西挂载在那里,您通常可以使用 /mnt/,否则您将需要创建一个新目录:

sudo  mkdir /media/usb

3. 安装!

sudo mount /dev/sdb1 /media/usb

完成后,只需启动:

sudo umount /media/usb

这个答案已经有近 6 年的历史了,虽然它的核心仍然有效,但诸如此类的东西fdisk -l并不是最用户友好的选项。在更高的堆栈中也有新的机制,可以以合理和标准的方式安装设备,但可能并不总是可用的。

所以我从其他答案中加了一些润色。当你在桌面系统上阅读这个脚注时,肯定有理由支持使用udisksctl,根据 wecac 的回答。它的挂载方式与桌面相同 — 创建您自己的/media/$USER/device目录 — 但我认为静态挂载点仍然存在争议,尤其是当您不想改变路径时。

Udisks 也依赖于 D-Bus,因此可能不是在所有地方都可用。

答案2

pmount/pumount

安装pmount。将磁盘安装到 /media/

pmount /dev/sdb1
pumount /dev/sdb1

不需要sudo

将“sdb1”替换为您的特定设备路径。有关更多信息,请参阅手册页

pmount  ("policy mount") is a wrapper around the standard mount program
which permits normal users to mount removable devices without a  match-
ing /etc/fstab entry.

pmount is invoked like this:

pmount device [ label ]

This  will  mount  device  to a directory below /media if policy is met
(see below). If label is given, the mount point will  be  /media/label,
otherwise it will be /media/device.

答案3

使用udisksctl来自 package= udisks2(在 Ubuntu 和 Debian 中)。步骤如下:

  1. 使用以下命令查找要挂载的块设备的 ID lsblk

    user@machine:~$ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   1.8T  0 disk
    ├─sda1   8:1    0  19.1M  0 part /boot/efi
    ├─sda2   8:2    0   1.8T  0 part
    └─sda3   8:3    0    16G  0 part [SWAP]
    sdb      8:16   0 931.5G  0 disk
    ├─sdb1   8:17   0    37M  0 part
    ├─sdb2   8:18   0  15.9G  0 part [SWAP]
    └─sdb3   8:19   0 915.7G  0 part /
    sdc      8:32   1  14.4G  0 disk
    └─sdc1   8:33   1  14.4G  0 part
    sdd      8:48   0   1.8T  0 disk
    └─sdd1   8:49   0   1.8T  0 part
    

    从它的大小来看,它/dev/sdc1似乎是我想要安装的 USB 驱动器。

  2. 用于udisksctl挂载设备。请注意-b== --block-device(以减少输入),但我更喜欢长选项以方便记录:

    user@machine:~$ udisksctl mount --block-device /dev/sdc1
    ==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===
    Authentication is required to mount Kingston DT microDuo 3C (/dev/sdc1)
    Multiple identities can be used for authentication:
     1.  XXXXX,,, (user)
     2.  ,,, (YYYYY)
    Choose identity to authenticate as (1-2): 1
    Password:
    ==== AUTHENTICATION COMPLETE ===
    Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
    

解决 Hans Deragon 的问题在下面评论:你也可以告诉udisksctl它执行操作--no-user-interaction。它不会尝试验证用户身份,这通常是“正常工作”的:

user@machine:~$ udisksctl mount --block-device /dev/sdc1 --no-user-interaction
# possibly some complaining here about I/O charset or need to run `fsck`
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.

答案4

您还可以借助 USBmount 在 Ubuntu Server 上自动安装 USB 设备。

确保在开始安装之前运行 apt-get update/upgrade:

sudo apt-get update && sudo apt-get upgrade

现在从存储库安装 USBmount:

sudo apt-get install usbmount

USBmount 将所有 USB 驱动器挂载在/media/usb*(usb0、usb1、usb2 ...)

现在插入 USB 驱动器并等待检测和安装。只要主机操作系统支持文件系统,它就应该被安装。

要验证 USB 驱动器是否已正确安装,您可以使用它df -h来查看所有可用驱动器及其各自的安装点

要卸载驱动器,您可以使用 umount。

sudo umount /media/usb0

相关内容