Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In DOS, I switch between different drives by typing c:, d:, e: and so forth. But it doesn't work that way in Linux.

Could anyone please tell me how to switch between different drives?

share|improve this question
yep.. using linux for the first time. hav to learn a lot – saiy2k Feb 2 '12 at 6:37
Just to clarify as this is a usual misconception causing more trouble in understanding: DOSBox is an emulator, cmd.exe a command-line interpreter for non-DOS based Windows releases and COMMAND.COM a system shell for DOS. While user interaction with these programs and the appearance may be similar, they are not the same. – LiveWireBT Dec 13 '14 at 13:19
up vote 12 down vote accepted

Linux doesn't really have a way to work with "drives", per se, except with system utilities that access partitions; they often need to specify the drive that contains the partition. But if your drives each only have one partition, it doesn't really matter.

Anyway, to access a drive, you actually need to specify the partition in some way, usually by a definition like /dev/sda1 (1st partition on 1st drive) or /dev/sda2 (2nd partition on first drive). Using the Disk Utility or gparted, you can see all the partitions graphically. If you're only using the terminal, I've found that the command "blkid" is handy to list the drives with their UUIDs. I use the form:

sudo blkid -c /dev/null

Using the terminal, you need to mount a partition to actually use it. This is actually pretty easy to do. In most cases, you would want to use an empty directory as the "mount point"; if the directory is not empty, its contents will be masked and unavailable during the mount. This may be useful in certain circumstances, such as testing or temporarily changing a configuration for some other reason, as it will alleviate the need to rename or delete the current contents.

If you have a directory named /mnt/drive2 (/mnt is commonly used, but it can be in your home directory if you want), and your drive is /dev/sdb, with a single partition, then the simplest command is:

sudo mount -t type /dev/sdb1 /mnt/drive2

where "type" is the type shown in the blkid command, such as ntfs, ext4, etc.

EDIT: to experiment, don't be afraid to try the mount command. It is only temporary until you reboot (or unmount using the "umount" command). To make it permanent, you need to enter it into /etc/fstab. If you want to do that, you can experiment by creating an entry, then using the command "mount -a" to mount everything in /etc/fstab. If there are errors, it will tell you, and you can correct and repeat until it works.

share|improve this answer
The first partition of the first drive is sda1, there is no sda0 – enzotib Feb 1 '12 at 19:06
Oops, sorry, you're right. I've gotten so used to using UUIDs that I forgot that. And since I have a lot of partitions, I always have to look them up to see which one to use, so I don't think about it. I'll edit my answer, but make a note of it so your comment won't look out of place. – Marty Fried Feb 1 '12 at 19:28

Hard disks (drives, as you call them) contain partitions, and each partition contain a filesystem.

In Linux and Unix there is a main filesystem called root filesystem, and indicated with /. Other filesystems (real or virtual) are mounted on the root filesystem on a mount point, i.e. an empty directory used as a start point for the specific filesystem, in such a way that all files can be reached as descendant of the root directory.

If you type the command mount without option, you would see something like the following:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=764668k,nr_inodes=191167,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=153392k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
/dev/sda7 on /media/data type ext4 (rw,noatime,user_xattr,acl,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
XXX.XXX.163.168:/media/data/ on /media/data/mnt type nfs4 (rw,nosuid,noexec,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=XXX.XXX.163.76,minorversion=0,local_lock=none,addr=XXX.XXX.163.168)
gvfs-fuse-daemon on /home/enzotib/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

where you can see that the partition /dev/sda5 (5th partition of the hard disk /dev/sda) is mounted on /, so that it is the root partition.
Furthermore, you see /dev/sda7, another partition/filesystem, mounted on /media/data, so that cd /media/data effectively correspond to d: in the windows terminology.

There are many other mounted filesystem in this output, as you can see, and are all virtual filesystem, i.e. filesystem not corresponding to a disk partition. And you can see an NFS-mounted filesystem, a virtual filesystem linked to a real filesystem available on another machine through the network (the line of output where you see an IP address in part deliberately obscured by me).

You can see the simplicity of having a single structure to access all your files, and in some cases also remote files.

Related questions:

share|improve this answer
Using lsblk may be a bit easier to read and only lists block storage devices (no sysfs, proc, cgroup, etc.). – LiveWireBT Dec 13 '14 at 13:06

Ubuntu keeps all disks mounted at media directory so use

cd /media/<your drive name>
share|improve this answer

it's easy

cd /media/$USER/{the name of the drive}

in the future, if you forget it, just go to the drive with your files manager choose a random folder then right click on a blank area -> properties then see the "location"

share|improve this answer

You can also just browse to the folder on the drive you want and right-click, open in terminal.

share|improve this answer

Ubuntu can use, from your home directory (eliminate the < and > and replace "yourusername" with your actual username you logged into Linux with, "drive name" with the name of your hard disk).

cd /media/<yourusername>/<drive name>

All mounted disks are in that /media/yourusername/ directory . If you do not know the drive name, you can always look in your file manager -or- through the terminal (again from your home directory)

ls /media/<yourname>/

You can use the sd# and mnt described; however, I think you were looking for an easy answer.

share|improve this answer
The commands you've provided use absolute paths and are not required to be run from within the user's home directory. – jkt123 Apr 23 '14 at 2:30

Actually, for me it's like this:

cd /media/<user>/New\ Volume/

With New Volume being the name of the external drive. and user being my username.

Don't know why the backward slash, I assume because of the space?

share|improve this answer
Yes, it's because of the space. – muru Dec 23 '15 at 8:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.