|
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.) |