248

What does the "etc" folder in the root directory stand for? I think knowing this will help me remember where certain files are located.

Update: Might be useful for others, the folder is used for "Host specific configuration files" - reference.

10
  • 49
    A backronym I rather like is "Edit To Configure", but there is no history to suggest that this is a "real" meaning. Jun 11, 2011 at 21:30
  • 11
    My guess would be history. Nobody really thought "Hey, we're going to have a bunch of system-wide config data!" and so nobody ever created a directory for it. But, of course, there was, and everybody shoved it into /etc because there wasn't anyplace else to put it. Poof! De-facto standard. You know that /usr was originally the place where user home directories were? Nov 19, 2012 at 22:32
  • 6
    It's also (slightly) interesting to note that older versions of Solaris and HP-UX (and maybe others that I've forgotten) actually had binaries in /etc too. Nov 19, 2012 at 22:45
  • 2
    Until quite recently, *BSDs still put user home directories in /usr/home, in fact.
    – michel-slm
    Nov 23, 2012 at 7:33
  • 2
    In the old days, /etc also held binaries. I believe most of them migrated to /sbin Jul 13, 2015 at 14:19

9 Answers 9

216

Originally, there was /bin for programs (essentially, executable binaries), and very soon /dev for device files and /lib for extra executable code loaded by programs (libraries). /usr also came in very early, first for user data, then as an extra OS area with its own bin and lib and then man containing the manual in electronic form. The source code was also often provided somewhere under /usr.

And there were a few files in the operating system that didn't fit in any of the existing categories. This included a passwd file containing users' passwords, and an mtab file written by mount, and the init and later rc programs executed at boot time, and over time more and more programs that were intended to be executed only for administration purpose and not as part of normal usage.

(You can browse some old Unix source code on the Unix Tree. Versions earlier than V6 are very fragmentary. You can also see V1 and V6 manuals at the Manual Page Library.)

At first, there was no connotation that files in /etc were configuration files. In these very early days, if you wanted to customize something, you'd be recompiling that part of the system. As Unix got more powerful, there were more and more things you could do without recompiling. As Unix got used more widely, there were more and more things people wanted to do, and they found ways of doing them without going through the trouble of recompiling. So /etc filled up with more and more text files that people could and did customize, hence it gradually became the configuration directory.

With the creation of /sbin to contain programs intended only for the system administrator, /etc ended up containing only text files, many of which can be customized by the system administrator. A few files (e.g. /etc/mtab, sometimes /etc/resolv.conf) are automatically maintained by system programs; there is a slow trend to move these files to /run in the Linux world.

On modern unix systems, almost all system-wide configuration files are under /etc, but not all files in /etc are configuration files. Typical Linux distributions and other unix variants don't cope very well with modifying many of the files that come from packages; at a minimum, you may end up having to merge local modifications manually when the system is upgraded.

4
  • 1
    The file modification problem is being slowly solved by having programs read multiple configuration files from a directory. Some of those will be shipped with the package, and others supplied by users. The ones that are shipped may possibly be removed, but should not be user modified. Fantastic and informative answer BTW. Nov 21, 2012 at 22:10
  • In some UNIX OSes you'll find symlinks in /etc pointing to commands in /bin.
    – user14755
    Sep 1, 2016 at 6:19
  • @Gilles, Where is the source for "Originally, there was..."
    – Pacerier
    Aug 16, 2017 at 1:18
  • 1
    @Pacerier Memories of looking at source code, binaries running in emulators, documentation and research papers (mostly by Thompson and Ritchie). I don't have references, feel free to track them down if you want. Aug 16, 2017 at 9:04
148

Define - /etc? has some good history.

You can find references to "et cetera" in old Bell Labs UNIX manuals and so on – nowadays it's used only for system configuration, but it used to be where all the stuff that didn't fit into other directories went.

2
62

It means "et cetera". In Latin literally "and the rest". And I have proof.

Edit: The original link above, dated March 3, 2007 has been archived. In it Peter H. Salus quotes an email he "just received" from Dennis Richie, co-creator of Unix, making very clear what "etc" initially stood for:

I assure you that the original contents of /etc were the "et cetera" that didn't seem to fit elsewhere. Other variants might do their own etymologies differently.

Regards,
Dennis

4
  • 9
    For those who don't know who Peter Salus is: amazon.com/Quarter-Century-UNIX-Peter-Salus/dp/0201547775 Jan 12, 2011 at 17:02
  • 1
    Thanks for history. Please, check the web link of "proof". Thanks.
    – Cloud Cho
    Aug 29, 2022 at 23:11
  • 2
    @CloudCho Yeah, it's been dead for a while, which is why I later quoted the text in my answer.
    – bahamat
    Aug 31, 2022 at 0:20
  • 1
    Indeed, and for further evidence you can go all the way back to the Research Unix V1 assembly source from 1972. It explicitly refers to /etc and the 'etcetra' directory (sic).
    – alexh
    Sep 25, 2023 at 16:41
24

Wikipedia's Filesystem Hierarchy Standard Article offers an explanation on this.

Host-specific system-wide configuration files There has been controversy over the meaning of the name itself. In early versions of the UNIX Implementation Document from Bell labs, /etc is referred to as the etcetera directory, as this directory historically held everything that did not belong elsewhere (however, the FHS restricts /etc to static configuration files and may not contain binaries). Since the publication of early documentation, the directory name has been re-designated in various ways. Recent interpretations include backronyms such as "Editable Text Configuration" or "Extended Tool Chest".

Source: http://en.wikipedia.org/wiki//etc#Directory_structure

9

At the beginning of UNIX it was both necessary and practical to give short names to stuff. So, all system directories were kept to 3 letters and they are abbreviations. These names are still present on modern Linux systems. (ie. usr-user, var-variable, lib-library). etc comes from 'et cetera' but I've seen on several sites that a backronym is mentioned which would represent etc's present function: "editable text configuration", but again, this is just a modern adaptation to better represent what's in there.

3

I thought it just meant "et cetera" as in "etc..." on a list.

This product helps household pets like dogs, cats, etc...

2
  • 1
    I've thought that as well, but it doesn't make sense to me. Why would a standard, root linux folder be named et cetera? But maybe that is the case...
    – David Tang
    Jan 11, 2011 at 5:05
  • 4
    Only the most impoverished category systems lack a "miscellaneous" category. Unix is plenty big enough to need a "misc" folder; they just chose a different name is all. Jan 12, 2011 at 17:03
3

I always assumed it was to suggest a miscellaneous directory, like "etc = all the rest we do not bother to categorize further"; I personally use such a folder too on my home directory as well (not called etc but "oars" = "(something) else").

3

It was originally meant to be "et cetera" but now it stands for "editable text configurations".

3
0

I study electronics and I have a course about the RaspberryPi. Our notes say that /etc stands for "Editable Text Configuration". I always assumed that "the et cetera directory" was nothing more than a nickname. It kind off makes more sense than the other way around, but who am I...

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .