Nautilus 的“安全移除驱动器”功能对应的命令行是什么?具体来说,我正在移除一个 USB 闪存驱动器。
答案1
该udisks
命令很可能就是您正在寻找的。
虽然sudo unmount /dev/sdXY
可以工作,但是 udisks 可以在没有 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
如果您的驱动器未安装或从未安装,只需使用第二个命令:
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
与上述类似,即使没有安装分区,或者从未安装过分区,也可以使用关机来分离驱动器:
udisksctl power-off -b /dev/sdb
答案2
与 Nautilus Mount/Unmount 操作实际等同的是gvfs-mount -m -d /dev/ice /some/directory
和gvfs-mount -u /some/directory
。这使用与 Nautilus 相同的 API,即 GIO 虚拟文件系统 (gvfs),它提供不同的工具来使用多种服务作为挂载点,例如 smb、NFS、FTP、块设备等。
要识别您需要卸载哪个设备,只需使用gvfs-mount -l
哪个就足够了。
该解决方案的特点是它不需要提升权限,因为一切都由 umount/gvfsd/polkit 服务管理,这与 Nautilus 行为更加相似。
答案3
了解设备后,可能会使用df
以下信息@rcpao 回答,在我看来,“弹出”磁盘的最佳方法是使用与图形界面相同的命令:
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
在这种情况下),然后将其卸载。