Helpful Linux Commands for USB Sticks and microSDs
This post serves as an intro to using USB Sticks and microSD cards in the Terminal as well as a collection of commands useful for troubleshooting. Please read at least the first section on Device Names before skipping ahead :)
Device Names
In Linux the /dev/
directory displays all the physical and virtual devices connected to your machine, which most importantly for this guide includes all storage devices. SATA harddrives are usually named something similar to "sda" or "sdb" with "sda1" being (one of) the partion(s) on this drive, while NVME SSDs could be something like "nvme0n1". The commands used in this guide will usually use partions of devices.
A very useful command to find your storage devices an partitions is lsblk
:
$ lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 2,7T 0 disk
sda1 8:1 0 128M 0 part
sda2 8:2 0 2,7T 0 part /mnt/My-Storage
zram0 252:0 0 8G 0 disk [SWAP]
luks-927619eb-f07f-4595-bc87-762b7d84a50a 253:0 0 337,2G 0 crypt /home
nvme0n1 259:0 0 465,8G 0 disk
nvme0n1p1 259:1 0 512M 0 part /boot/efi
nvme0n1p2 259:2 0 128G 0 part /
nvme0n1p3 259:3 0 337,3G 0 part
To find easily find the name of your USB Stick or microSD Card simply run the command before and after plugging in the storage medium or compare the SIZE column with what you expect. For the purpose of this guide we will assume that our USB stick's main partition is devname-here1
.
Mounting a partition
To mount a storage medium partition we will need an empty directory - commonly the /mnt
directory is used for this purpose, but you can of course create one on your Desktop or in your home directory if you prefer. After creating the directory use mount
to mount the partition:
sudo mkdir /mnt/USB-Stick # any name really, sudo needed for access to /mnt
sudo mount /dev/devname-here1 /mnt/USB-Stick
You should now be able to access your storage medium in the chosen location.
Safely unmounting a partition
To unmount a partition simply use the umount
command with either the device name or location where you mounted the partition:
sudo umount /mnt/USB-Stick
# or
sudo umount /dev/devname-here1
You may get an error if there are still processes doing operations on your device, such as your filemanager still being open or a terminal currently being at a location inside the mounted partition. To see a list of processes using your device run lsof
with the either the device name or location where you mounted the partition:
lsof /mnt/USB-Stick
# or
lsof /dev/devname-here1
Note that you must safely unmount devices to prevent data corruption!
Fixing broken filesystems
While there is an entire science to fixing broken filesystems a very useful command is fsck
. If you encounter problems with the filesystem such as corrupted files you can try running fsck -tvn /dev/devname-here1
on the partition. The command will guide you through what it wants to try and give you choices for dealing with broken files and similar issues. Note that it will not apply any changes until you confirm so as the last step. Should you not get a prompt it is likely that fsck
did not detect your issue.
Changing the name of your Storage Device
The mlabel
command can be used to change the label (or name) of any FAT32 storage device:
mlabel -i /dev/devname-here1