353

Is it "resource configuration", by any chance?

4

4 Answers 4

355

As is often the case with obscure terms, the Jargon File has an answer:

[Unix: from runcom files on the CTSS system 1962-63, via the startup script /etc/rc] Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up.

Thus, it would seem that the "rc" part stands for "runcom", which I believe can be expanded to "run commands". In fact, this is exactly what the file contains, commands that bash should run.

6
  • 30
    I always thought it was "runtime configuration" huh, but this seems to have more evidence as to be correct. Commented Oct 24, 2010 at 5:08
  • 14
    I tend to see it as more of a historical name than meaningful at this point. Many uses of "rc" aren't really "run commands" anymore, unless you want to be pedantic and call assignment a command; often, a program's rc file is just config parameter values. Completely correct answer though :)
    – Cascabel
    Commented Oct 24, 2010 at 5:12
  • 1
    @Jefromi In many software configuration is set using commands
    – NeDark
    Commented Jul 20, 2015 at 16:28
  • 1
    @NeDark Sure, but what I said is that in many cases (basically everything besides shells and things with built in scripting languages), the rc file doesn't contain commands at all.
    – Cascabel
    Commented Jul 20, 2015 at 16:40
  • I don't feel so guilty for not knowing it any more (never would have guessed it meant "runcom")
    – stevec
    Commented Apr 29, 2021 at 8:13
58

Another expansion - run control

On Tue, 4 Nov 2003, goldwyn rodrigues wrote:

Does anyone know what RC (in bashrc/mailrc/... ) means or how it originated? I mean, is it an acronym? If yes, what does it stand for?

'rc' stands for 'run control' and is a a convention adopted from older Unix systems.

For more info see this: http://www.catb.org/~esr/writings/taoup/html/ch10s03.html

[Source]

3
  • 9
    Interesting. In both cases the ultimate source is esr.
    – Steven D
    Commented Oct 24, 2010 at 6:18
  • 14
    ESR did not necessarily author the entries in the Jargon File. Especially for the older bits, they were quite possibly inherited before he took over maintainership. Commented Oct 25, 2010 at 2:55
  • 9
    As a pedantic addendum, the link in this answer contains the following footnote of interest: "The ‘rc’ suffix goes back to Unix's grandparent, CTSS. It had a command-script feature called 'runcom'. Early Unixes used ‘rc’ for the name of the operating system's boot script, as a tribute to CTSS runcom." Commented Feb 6, 2016 at 2:49
14

Reading the sources others mentioned (http://www.catb.org/jargon/html/R/rc-file.html and http://www.catb.org/~esr/writings/taoup/html/ch10s03.html) it does seem like runcom is the origin of rc.

But I think it is used today for controlling or configuring how subsequent stuff will run. Saying that an rc file is a set of commands to run (runcom) is vague. It doesn't imply when the commands will be run or anything about their purpose. "Control" and "configure" imply initialization or setup, so I think they're more informative.

I think the answer is, "runcom" is the historical origin, but "run configuration" is what it really does.

2
  • 16
    this seems like mostly opinion.
    – strugee
    Commented Oct 5, 2013 at 20:59
  • 4
    I think it is mostly my opinion, yes. Commented Oct 7, 2013 at 18:18
6

It looks to me that while the origin definitely seems to be "runcom", files that end with "rc" are used today in a more general way, i.e. as a "run configuration", as several have already pointed out. One example I recently came across is ".vuerc", a file used by the vue.js framework's CLI to store user defined configuration presets for creating new projects and other settings for the runtime. ".vuerc" is a JSON file, i.e. NOT a script of runnable commands.

1
  • 3
    A bunch of more examples: .babelrc, .prettierrc, .eslintrc, .nvmrc, .npmrc Commented Sep 19, 2020 at 16:34

You must log in to answer this question.

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