当前位置: 首页>>技术问答>>正文


什么是“Safely Remove Drive”的命令行等效?

, , ,

问题描述

命令行等效于名为“安全删除驱动器”的Nautilus功能。具体来说,我正在删除USB闪存驱动器。

最佳解决方法

udisks命令很可能是您正在寻找的。

虽然sudo unmount /dev/sdXY可以工作,但是udks可以在没有root级别(sudo)权限的情况下执行此操作。

如果您安装了驱动器/dev/sdXY,其中X是代表您的USB磁盘的字母,Y是分区号(通常为1),您可以使用以下命令安全地删除驱动器:

udisks --unmount /dev/sdXY
udisks --detach /dev/sdX

对于一个实际的例子,如果我安装了分区/dev/sdb1,我会运行它来卸载并分离它:

udisks --unmount /dev/sdb1
udisks --detach /dev/sdb

我最初通过这个问题找到了这个:https://superuser.com/a/430470/176493

使用udisks2:

在较新的ubuntu发行版中(我不确定何时发生了切换),安装了udisks2而不是udisks。

镜像上面的命令,使用udisks2卸载和分离磁盘:

udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX

例如,如果我的驱动器是/dev/sdb1

udisksctl unmount -b /dev/sdb1
udisksctl power-off -b /dev/sdb

次佳解决方法

Nautilus挂载/卸载操作的实际等效值为gvfs-mount -m -d /dev/ice /some/directorygvfs-mount -u /some/directory。这使用了Nautilus使用的相同API,GIO虚拟文件系统(gvfs),它提供了不同的工具来使用多个服务作为挂载点,例如smb,NFS,FTP,块设备等。

要确定需要卸载哪个设备,只需使用gvfs-mount -l就足够了。

此解决方案具有不需要提升权限的特性,因为所有内容都由umount /gvfsd /polkit服务管理,这进一步类似于与Nautilus行为的相似性。

第三种解决方法

一旦你知道了设备,可能使用了@rcpao answer中的df信息,“弹出”磁盘的最好方法是使用图形界面使用的相同命令:

udisksctl unmount --block-device /dev/sdc1

我有一个脚本来备份到我知道将在/media/romano/movlin下安装的磁盘,并且在备份后我做:

sync
udisksctl unmount -b $(mount | grep movlin   | cut -d" "  -f1)

在这里,mount | grep movlin | cut -d" " -f1将提取安装在标签”movlin”下的设备(在这种情况下将是/dev/sdc1),然后将其卸载。

第四种方法

  1. 如果找到闪存驱动器的安装点。

    rcpao@bun:~$ df
    Filesystem                   1K-blocks       Used  Available Use% Mounted on
    /dev/mapper/ubuntu--vg-root 1916153032  658404668 1160390336  37% /
    none                                 4          0          4   0% /sys/fs/cgroup
    udev                          16438692          4   16438688   1% /dev
    tmpfs                          3289976       2156    3287820   1% /run
    none                              5120          0       5120   0% /run/lock
    none                          16449860      18768   16431092   1% /run/shm
    none                            102400         48     102352   1% /run/user
    /dev/sda1                       240972      98990     129541  44% /boot
    /dev/sdc1                     60915712      20992   60894720   1% /media/rcpao/SD024-64GB
    
  2. 使用/dev /sdc1或/media /rcpao /SD024-64GB卸载。

    rcpao@bun:~$ sudo umount /dev/sdc1
    [sudo] password for rcpao: 
    rcpao@bun:~$
    

    要么

    rcpao@bun:~$ sudo umount /media/rcpao/SD024-64GB
    [sudo] password for rcpao: 
    rcpao@bun:~$
    
  3. 卸载完成后,您应该能够看到闪存驱动器的弹出图标在nautilus中消失。

第五种方法

来自eject packageeject

sudo eject /dev/sdX

umount显示所有分区,并将设备置于必须删除的状态并重新连接以重新安装。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2359.html,未经允许,请勿转载。