231

Well, this is embarrassing. I feel like I just realised I don't know a loyal colleague's name after working with them for 10 years. "Hey, er... *cough!*, thanks for that great job you did on setting my aliases this morning..."

What do the letters rc signify in .bashrc, .kshrc, etc.?

If you know, please cite sources.

Even if you don't know, I'd also welcome unfounded assumptions, suggestions or alternatives if they're marked as such.

3

3 Answers 3

283

It stands for “run commands”.

This comes from MIT’s CTSS (Compatible Time-Sharing System) and Multics, where the idea that a command processing shell would be an ordinary program originated. CTSS had a program called RUNCOM (for “run commands”) and a script was called “a runcom” in the community where Unix originated, leading to the file extension .rc and generally to the rc abbreviation.

rc stuck as a name for any list of commands.

1
  • 20
    Ahhhhhhh! Thanks! Given the quote from the link - "There was a facility that would execute a bunch of commands" - I'm glad they didn't call it .basheaboc Aug 7, 2010 at 14:58
50

It stands for "run commands."

From Wikipedia:

The term rc stands for the phrase "run commands". It is used for any file that contains startup information for a command. It is believed to have originated somewhere in 1965 from a runcom facility from the MIT Compatible Time-Sharing System (CTSS).

From Brian Kernighan and Dennis Ritchie: "There was a facility that would execute a bunch of commands stored in a file; it was called runcom for 'run commands', and the file began to be called 'a runcom'. rc in Unix is a fossil from that usage."

Tom Van Vleck, a Multics engineer, has also reminisced about the extension rc: "The idea of having the command processing shell be an ordinary slave program came from the Multics design, and a predecessor program on CTSS by Louis Pouzin called RUNCOM, the source of the ".rc" suffix on some Unix configuration files."

This is also the origin of the name of the Plan 9 from Bell Labs shell by Tom Duff, the rc shell. It is called 'rc' because the main job of a shell is to 'run commands'.

While not historically precise, rc may also be expanded as "run control", because an rc file controls how a program runs. For instance, the editor Vim looks for and reads the contents of the .vimrc file to determine its initial configuration. In The Art Of Unix Programming, Eric S. Raymond consistently refers to rc files as "run-control" files.

10

From djeikyb on Ask Ubuntu:

I've heard

  • run commands
  • resource control
  • run control
  • runtime configuration

Personally, I'd go with run control, because ESR says so.

http://www.catb.org/~esr/writings/taoup/html/ch10s03.html

His footnote says:

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.

Wikipedia chooses "run commands" as the default long-form, but admits that context should determine word choice.

While not historically precise, rc may also be pronou-
nced as "run control", because an rc file controls how
a program runs. For instance, the editor Vim looks for
and reads the contents of the .vimrc file to determine
its initial configuration. The most sensible pronunci-
ation depends on the function of the file: to start
something up, or to control how something starts up.

http://en.wikipedia.org/wiki/Run_Commands

1
  • 3
    ESR seems to contradict himself. How is "runcom" an abbreviation of "run control"? Apr 25, 2020 at 22:53

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