59

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?

LiveWireBT
  • 29,597
saiy2k
  • 703

7 Answers7

36

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.

Marty Fried
  • 18,944
22

Ubuntu keeps all additional disks mounted in the /media directory, so use

cd /media/$USER/<your-drive-name>
Zanna
  • 72,312
Pratap
  • 331
14

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:

enzotib
  • 96,093
9

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"

muru
  • 207,228
Mohamed
  • 286
5

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

0

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.

0

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?

muru
  • 207,228
Mookey
  • 4,811