How to Mount and Unmount File Systems.

How To Mount And Unmount File Systems.

In this tutorial, we will go over the basics of attaching and detaching various file systems using the mount and umount commands.


How to List Mounted File Systems

When used without any argument, the mount command will display all currently attached file systems:


When used without any argument, the mount command will display all currently attached file systems:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=2961576k,nr_inodes=740394,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)

By default, the output will include all file systems including the virtual ones such as cgroup, sysfs, and others.

device_name on directory type filesystem_type (options)

To display only certain file systems use the -t option.

For example, to print only the ext4 partitions you would use:

mount -t ext4


Mounting a File System

To mount a file system in a given location (mount point), use the mount command in the following form:


Once the file system is attached, the mount point becomes the root directory of the mounted file system.

For example, to mount the /dev/sdb1 file system to the /mnt/media directory you would use:

sudo mount /dev/sdb1 /mnt/media

Usually when mounting a device with a common file system such as ext4 or xfs the mount command will auto-detect the file system type. However, some file systems are not recognized and need to be explicitly specified.

Use the -t option to specify the file system type:


To specify additional mount options , use the -o option:


Multiple options can be provided as a comma-separated list (do not insert a space after a comma).

You can get a list of all mount options by typing man mount in your terminal.


Mounting a File System using /etc/fstab

When providing just one parameter (either directory or device) to the mount command, it will read the content of the /etc/fstab configuration file to check whether the specified file system is listed or not.

If the /etc/fstab contains information about the given file system, the mount command uses the value for the other parameter and the mount options specified in the fstab file.

The /etc/fstab file contains a list of entries in the following form:

[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass]

Use the mount command in one of the following forms to attach a file system specified in the /etc/fstab file:



Mounting USB Drive

On most modern Linux distribution like Ubuntu, USB drives will auto mount when you insert it, but sometimes you may need to manually mount the drive.

To manually mount a USB device, perform the following steps:

  1. Create the mount point:

    sudo mkdir -p /media/usb
  2. Assuming that the USB drive uses the /dev/sdd1 device you can mount it to /media/usb directory by typing:

    sudo mount /dev/sdd1 /media/usb

    To find the device and filesystem type, you can use any of the following commands:

    fdisk -lls -l /dev/disk/by-id/usb*dmesglsblk

To mount exFAT formatted USB drives, install the free FUSE exFAT module and tools .


Mounting ISO Files

You can mount an ISO file using the loop device which is a special pseudo-device that makes a file accessible as a block device.

  1. Start by creating the mount point, it can be any location you want:

    sudo mkdir /media/iso
  2. Mount the ISO file to the mount point by typing the following command:

    sudo mount /path/to/image.iso /media/iso -o loop

    Don’t forget to replace /path/to/image.iso with the path to your ISO file.


Mounting NFS

To mount an NFS share you’ll need to have the NFS client package installed on your system.

  • Install NFS client on Ubuntu and Debian:

    sudo apt install nfs-common
  • Install NFS client on CentOS and Fedora:

    sudo yum install nfs-utils

Use the steps below to mount a remote NFS directory on your system:

  1. Create a directory to serve as the mount point for the remote filesystem:

    sudo mkdir /media/nfs
  2. Generally, you will want to mount the remote NFS share automatically at boot. To do so open the /etc/fstab file with your text editor :

    sudo nano /etc/fstab

    Add the following line to the file, replacing remote.server:/dir with the NFS server IP address or hostname and the exported directory:

    # <file system>    <dir>       <type>   <options>   <dump>	<pass>
    remote.server:/dir /media/nfs  nfs      defaults    0       0


  3. Mount the NFS share by running the following command:

    sudo mount /media/nfs


Unmounting a File System

To detach a mounted file system, use the umount command followed by either the directory where it has been mounted (mount point) or the device name:


If the file system is in use the umount command will fail to detach the file system. In those situations, you can use the fuser command to find out which processes are accessing the file system:

fuser -m DIRECTORY

Once you determine the processes you can stop them and unmount the file system.


Lazy unmount

Use the -l (–lazy) option to unmount a busy file system as soon as it is not busy anymore.

umount -l DIRECTORY


Force unmount

Use the -f (–force) option to force an unmount. This option is usually used to unmount an unreachable NFS system.

umount -f DIRECTORY

Generally not a good idea to force unmount as it may corrupt the data on the file system.



By now you should have a good understanding of how to use the mount command to attach various file systems to your directory tree and detaching the mounts with the umount command.