使用命令行安全删除

Nul*_*ter 10 mount

我有一个外部希捷 1TB USB 硬盘。每次我将它连接到我的计算机时,它都会自动安装。在删除它时,我选择了safely remove选项,而不是unmount因为我在某处阅读了推荐的内容。

我有两个问题:-

  1. 确实,只是卸载会损坏我的硬盘。我应该总是选择safely remove选项吗?(我知道 和 之间的区别unmountsafely remove并且我还注意到卸载会将其从文件表条目中删除,但安全删除实际上会停止使用它。安全删除后电源 LED熄灭,这不会发生在卸载时)。

  2. 第一个问题让我想到了这个! 如何从命令行安全地删除我的硬盘?

(我知道怎么umount做..但即使我卸载它它仍然显示在fdiks -l 我不想要的)

Mit*_*tch 8

尝试这个。只需按键盘上的Ctrl+ Alt+T即可打开终端。当它打开时,运行以下命令:

sudo umount /dev/<device_id> 
Run Code Online (Sandbox Code Playgroud)

添加/更正(如果你想通过设备uuid,即不是像“ sda3”这样的东西,而是像“ ”这样独特的长数字/十六进制字符串366A52F225612...)使用

sudo umount /dev/disk/by-uuid/<device_id>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用 udisks。

sudo udisksctl unmount /dev/<device_id>
Run Code Online (Sandbox Code Playgroud)

您可以使用sudo fdisk -l命令获取设备 ID

如果未安装,要安装 udisks,只需执行

sudo apt-get install udisks
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅 udisks联机帮助页


Ser*_*nyy 7

Ubuntu 带有 Udisks 守护程序,它允许挂载/卸载 ,并使用块设备(也称为驱动器)执行其他一些操作,而无需 sudomount命令一样。特别令人感兴趣的是用于分离/关闭驱动器电源的选项。

对于较新的版本,使用udisksctl命令,特别是这个序列:

udisksctl unmount -b /dev/sdc1 && udisksctl power-off -b /dev/sdc                                                                                  
Run Code Online (Sandbox Code Playgroud)

旧版本的 Ubuntu(13.10 及更早版本)可以使用以下

udisks --unmount /dev/sdb1 && udisks --detach /dev/sdb
Run Code Online (Sandbox Code Playgroud)

在这两个命令中,想法是相同的:命令都卸载然后关闭设备电源(如果您的 USB 设备有 LED,则没有 LED 闪烁,它不会出现在udisksctl statusdf)。

为方便起见,这两个命令都可以在 中作为函数~/.bashrc,例如:

drive_off(){
    # Function that unmounts and powers off a USB drive
    # Usage example: drive_off /dev/sdc1
    device=$(awk '{print substr($0,0,length($0)-1)}' <<< "$1")
    udisksctl unmount -b "$1" && udisksctl power-off -b "$device"
}
Run Code Online (Sandbox Code Playgroud)

参考:ubuntuforums.org

另外,请通过终端参阅 udisks 手册页以获取更多信息: man udisks