Copyright (c) 2003 Toby A Inkster.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".


The root directory "/" (which should not be confused with the "/root" directory, which is where the user "root" should keep its files!) is more or less the equivalent of "C:" in Windows — it's where everything lives.

In Windows, floppy disks, CD-ROMs and other hard disks are entirely seperate from "C:". In Linux (and other versions of Unix), to access other disks we graft them onto the main file system — this is called "mounting" them.

So, for example, you probably have an empty directory called "/mnt/floppy" — this is just a regular empty directory. By running this command, the floppy disk drive gets grafted to that directory:

mount -t msdos /dev/fd0 /mnt/floppy

There is nothing special about the directory "/mnt/floppy". It's just conventional to use that directory to mount the floppy disk onto. You could equally use "/foo/bar" or "/floppy".

In the command above the "-t msdos" tells the system that the disk in the floppy drive is an MS-DOS format disk. The "/dev/fd0" is the floppy disk device. Don't worry too much about what device files are for now — you'll get your head around them eventually. They can be thought of as special files living in "/dev" which don't have anything in particular in them, but are representative of physical devices attached to your computer.

The floppy disks are "/dev/fd*", IDE hard disks and CD-ROMs are "/dev/hd*" and SCSI devices are "/dev/sg*". You may also notice things like "/dev/modem" and pseudo-devices like "/dev/full" which simulates a full disk, "/dev/zero" which is a stream of 0's and "/dev/random" a random stream.

When you are done with a floppy disk, before you eject it, you should u(n)mount it:

umount /mnt/floppy
or
umount /dev/fd0

Either way should work.

Additional hard disks and CD-ROMS as well as special file systems, like network file systems can be grafted onto the main file system similarly.

Also, by using the "mount" command on its own, you can get a list of all the devices currently mounted.

To simplify the process a bit, there is a file called "/etc/fstab" (fstab = file system table). You can use it to make a list of your commonly mounted things, so you can just use, for example, "mount /mnt/floppy" and it will read the "msdos" and "/dev/fd0" from fstab. You can also specify that some of the file systems should be auto-mounted at boot time.

At first, this system may seem a bit more complicated than the Windows way, but it is a lot more versatile. For example, in Windows, what happens if you want 27 drives? (lots of hard disk partitions, network drives, a couple of CD-ROMS, maybe a RAM disk...)

Old DOS used to have a "JOIN" command, similar to Unix' "mount".