What is the Command Line Equivalent of "Safely Remove Drive"?

What is the command line equivalent of the Nautilus feature called "Safely Remove Drive". Specifically, I am removing a USB flash drive.


The udisks command is most likely what you are looking for.

While sudo unmount /dev/sdXY will work, udisks can do this without root level (sudo) permissions.

If you have a drive /dev/sdXY, mounted, where X is a letter representing your usb disk and Y is the partition number (usually 1), you can use the following commands to safely remove the drive:

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

For a practical example, if I have the partition /dev/sdb1 mounted, I would run this to unmount and detach it:

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

If your drive is not mounted, or was never mounted, simply use the second command:

udisks --detach /dev/sdb

I originally found this through this question: https://superuser.com/a/430470/176493.

Using udisks2:

In the newer ubuntu distributions (I'm unsure of when the switch occurred), udisks2 is installed instead of udisks.

Mirroring the commands above, to unmount and detach a disk with udisks2:

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

Example if my drive is /dev/sdb1:

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

Similarly to above, power-off can be used to detach the drive even if there are no partitions mounted, or no partition was ever mounted:

udisksctl power-off -b /dev/sdb

The actual equivalent to Nautilus Mount/Unmount operation is gvfs-mount -m -d /dev/ice /some/directory and gvfs-mount -u /some/directory. This uses the same API that Nautilus uses, GIO virtual file system (gvfs), which provides different tools to use several services as mount points, such smb, NFS, FTP, block devices, etc.

To identify which device you need to unmount just use gvfs-mount -l which should be enough.

This solution has the peculiarity that it doesn't require for elevated permissions, since everything is managed by the umount/gvfsd/polkit services, which further resemblances the similarity with Nautilus behavior.