Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
It's purpose in life is to host various configuration files from around your system. For instance, to add a new hard drive to your system and have Linux auto-mount it on boot, you'd have to edit /etc/fstab. If you use lynx and don't like the color scheme, you change it in /etc/lynx.conf. And so on...
While we're at it: The common Linux/Unix system folders:
/bin: where binary programs live.
/boot: the special programs that start the system when you turn the machine on.
/dev: aaaaaalll the "device" listings for hardware of every concievable flavor, along with some "imaginary" devices,
lile /dev/null and /dev/zero. When you get a random number it usually comes from /dev/random.
/etc: configuration files.
/home: the user's directories live here.
/lib: the library files that programs need to run, if they are compiled to link against these libraries.
/lost+found: look here after a system crash/kernel panic or other extreme scenario to find "orphaned" files.
/misc: kinda reminds you of /etc, doesn't it? Every time I see this folder on a system, it's empty, but I ascertain that
it stands for "miscellaneous", and I think it may be a place for users to keep their own "/etc" type files?
/mnt: "mount", the directory that acts as a gateway to every other disk or file system. Floppies are accessed from
/mnt/floppy, your second hard drive might be /mnt/hd here, and so on.
/opt: "optional", where programs that are installed after the initial system install sometimes end up.
/proc: running "processes". The "everything is a file" paradigm carried to the Linux degree! This folder hosts files
which keep tabs on boring stuff like what daemons are running and the process ID of Emacs while you have
/root: root's home!
/sbin: the "system-administrator's bin file", which hosts programs that would be in /bin if they didn't have "root-only"
/tmp: "temporary" files, of use by programs which need to throw together a data file on-the-fly in preperation for
executing some other task. This folder gets flushed on reboot.
/usr: "user". Practically a whole other system in here, /usr/bin is still more binaries, /usr/doc and /usr/share/doc are
documentation folders, /usr/share/games/fortune is where the funny quotes come from when you log on (if
that feature is enabled). The idea is that this should be where files/programs accessible by all users should
be, and thus your desktop backgrounds come from /usr/share/wallpapers, or such. The other case is newly
installed programs sometimes end up in /usr/local/bin.
/var: "variable". System logs in here, recording such things as the last foo commands typed at the prompt, start-up
boot messages, and such.
The whole file system evolved by consensus over eons, and is usually consistent from one distro to another. The burden is also on developers writing install applications to use this file system, and not make up weird folder schemes on their own. As for users, they have complete freedom to do whatever they want in their own directory.
I too have heard people at times pronounces /usr as "u-s-r", believing that it stands for Unix System Resource. I personally disagree with this belief, and pronounce it as "user" myself. I think this because for all abbreviations I've come across in Unix, they make sense when expanded...however this one would not. "Unix System Resources" could refer to any other part of the system just as easily as it could for /usr, so I'd have to say it cannot stand for that. The File System Hierarchy Standard says that /usr is for read-only, shareable data. Shareable among different users...so that further supports the case for "user" in my mind...
/usr contains objects that support operations performed by users with the regular priveleges. Objects higher than /usr in the root filesystem support operations performed by the system, and usernames that are system-related. That is the abstraction that I use. Moreover, the fact that the FSH wasn't around in the early seventies has no bearing on whether or not it documented the intended purpose of that subtree correctly.
/usr usually contains by far the largest share of data on a system. Hence, this is one of the most important directories in the system as it contains all the user binaries, their documentation, libraries, header files, etc.... X and its supporting libraries can be found here. User programs like telnet, ftp, etc.... are also placed here. In the original Unix implementations, /usr was where the home directories of the users were placed (that is to say, /usr/someone was then the directory now known as /home/someone). In current Unices, /usr is where user-land programs and data (as opposed to 'system land' programs and data) are. The name hasn't changed, but it's meaning has narrowed and lengthened from "everything user related" to "user usable programs and data". As such, some people may now refer to this directory as meaning 'User System Resources' and not 'user' as was originally intended.