in Linux, Unix

Unix filesystems for Windows people

In the Unix world, there are no “drives” as per Windows “c:\”, “d:\”. There is only a single top level directory known as “/” or “root”. This doesn’t mean that you can’t read floppy disks, have second partitions, second hard disks, etc.

What do you have under Unix are what as known as “mount points”. (A more limited version of these are seen in Windows NT/2K/XP/Vista/7 called “reparse points”.) Any directory in Unix can have another filesystem “mounted” on it — that is, it is remapped to some other filesystem on some other location. So you can have /floppy pointing to the floppy disk, /usr pointing to a second partition, /home pointing to a network drive, and even /tmp pointing to a section of memory!

Traditionally under Unix, there are 13 top level directories under “/”. There are an additional 6 that are often seen on modern versions of Unix (such as Linux.)

These are:

  • /bin — Where critical non-systems administrator only binaries (aka executables) are held.
  • /dev — (Aha!) Where DEVice files are kept. (A device under Unix parlance is anything that isn’t an actual file, directory, or link.)
  • /etc — This is where system-wide configuration files live.
  • /home — This is where the users’ files are stored.
  • /lib — This is where the LIBrary files are stored, (equivalent to .lib and .dll files under Windows.)
  • /lost+found — This is where files that have gotten misplaced by the OS turn up. Not as useful with modern filesystems, but was indispensable if your filesystem went belly up in the Old Days.
  • /mnt — This was a generic MouNT point, if you had some random filesystem that you just needed to grab a few files from. Some modern Unix variants (Red Hat Linux, for example) have used this as a place to store other mount points. Unix old timers hate this, because that is not what /mnt was originally for.
  • /opt — This is where OPTional portions of the operating system were held. This is being phased out in favor of putting everything in either /usr or /usr/local with the advent of modern packaging systems (i.e. installers).
  • /root — This is where the root (aka the admin account) account’s files are stored.
  • /sbin — This is where the critical systems administrator only binaries are stored.
  • /tmp — This is where TeMPorary files are stored.
  • /usr — This is where USeR binaries, libraries, etc. are stored. (A quick mention about /usr/local: This is where files that weren’t provided by the maker of the OS are stored.)
  • /var — This is where VARious systems files are stored. These include the user’s mail files, files to be printed, outbound email, and cron files (programs to be run at some specific time).

Common non-traditional root entries include:

  • /boot — This is where some files (such as the kernel) needed for booting the system are put. Older versions of Unix often stored the kernel directly under /.
  • /cdrom — A mount point for CDs.
  • /dos — This is where DOS (i.e. Windows) filesystems are mounted. Most often seen on computers that are set up to boot both a variant of Windows and a variant of Linux.
  • /proc — This is where Linux stores running PROCess files (and other files that are based on the current state of the computer.)
  • /media — A directory that contains mount points for things like CD drives, floppy drives, and USB drives.
  • /sys — A newer Linux system file. This is ment to be supercede (parts of) /proc.

Whew! I’ll post more about these later.

Write a Comment