The Linux file system can seem a little strange especially for those coming from an M$ Windoze background. This is my humble attempt at debunking it and perhaps making it a little easier to understand.
Several main differences...
There are some important differences between the DOS/Windows type file system and the system used by Unix-derived systens such as Linux and Macintosh OSX.
- Folder delimiter is a forwardslash "/" not a backslash "\".
- Disk drives do not have drive letters. Instead they are mounted from within the file hierarchy system.
- File and folder names are case sensitive.
- Files and folders are hidden by adding a preceding dot.
- File and folder permissions are completely different.
- Unixy folks often refer to "folders" as "directories".
- The shorthand to access the current user's home folder is ~/ In my case ~/ is the same as /home/garf
Basic FHS
(Note this deviates slightly form official FHS by including some Debian-based paths as well.)
/ Primary hierarchy root and root directory of the entire file system hierarchy.
/bin/ Essential command binaries that need to be available in single user mode; for all users (e.g., cat, ls, cp).
/boot/ Boot loader files (e.g., kernels, initrd). Often a separate partition.
/dev/ Essential devices (e.g., /dev/null).
/etc/ Host-specific system-wide configuration files (the name comes from et cetera).
/etc/opt/ Configuration files for /opt/.
/etc/X11/ Configuration files for the X Window System, version 11.
/etc/sgml/ Configuration files for SGML.
/etc/xml/ Configuration files for XML.
/home/ Users' home directories - containing saved files, personal settings etc. Often a separate disk partition.
/home/garf/ Where my stuff lives. (Not actuallly part of the official FHS - obviously) 
/lib/ Libraries essential for the binaries in /bin/ and /sbin/.
/media/ Mount points for removable media such as CD-ROMs (appeared in FHS version 2.3).
/mnt/ Temporarily mounted filesystems.
/opt/ Optional application software packages.
/proc/ Virtual filesystem documenting kernel and process status as text files (e.g., uptime, network).
/root/ Home directory for the root user.
/sbin/ Essential system binaries (e.g., init, route, ifup).
/srv/ Site-specific data which is served by the system.
/tmp/ Temporary files (see also /var/tmp).
/usr/ Secondary hierarchy for user data; contains the majority of (multi-)user utilities and applications.
/usr/bin/ Non-essential command binaries (not needed in single user mode); for all users.
/usr/include/ Standard include files.
/usr/lib/ Libraries for the binaries in /usr/bin/ and /usr/sbin/.
/usr/sbin/ Non-essential system binaries (e.g. daemons for various network-services).
/usr/share/ Architecture-independent (shared) data.
/usr/src/ Source code (e.g. the kernel source code with its header files).
/usr/X11R6/ X Window System, Version 11 Release 6.
/usr/local/ Tertiary hierarchy for local data, specific to this host. Typically has further subfolders, eg. bin/, lib/, share/.
/var/ Variable files, such as logs, spool files, and temporary e-mail files.
/var/cache/ (debian-based systems) ccached files.
/var/cache/apt/ *.deb files downloaded when getting or updating packages from repositories, e.g. when using "sudo apt-get install".
/var/lock/ Lock files. Files keeping track of resources currently in use.
/var/log/ Log files. Various logs.
/var/mail/ Users' mail-boxes.
/var/run/ Information about the running system since last boot (e.g. currently logged-in users and running daemons).
/var/spool/ Spool for tasks waiting to be processed (e.g. print queues and unread mail).
/var/spool/mail/ Deprecated location for users' mail-boxes.
/var/tmp/ Temporary files to be preserved between reboots.
/var/www/ Web site files (not strictly part of the FHS but this is a very common location in the hierarchy).
|