
What does the 'rc' in `.bashrc`, etc. mean? - janvdberg
https://superuser.com/questions/173165/what-does-the-rc-in-bashrc-etc-mean
======
fooblat
The Jargon File is still a great resource for this kind of search and if you
like these background stories like me you might also enjoy reading all of it.

> [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. See also dot file, profile (sense 1).

0\.
[https://www.eps.mcgill.ca/jargon/jargon.html#rc%20file](https://www.eps.mcgill.ca/jargon/jargon.html#rc%20file)

~~~
teddyh
The canonical location of that link is:

[http://www.catb.org/~esr/jargon/html/R/rc-
file.html](http://www.catb.org/~esr/jargon/html/R/rc-file.html)

~~~
fao_
The canonical location of the jargon file is at jargon-file.org, which
contains not just ESR's jargon-file, but also pre-ESR versions. Apparently he
ripped a lot out that represented LISP and ITS culture, and spun some of the
political aspects of it to conform more to his taste.

"rc-file" does not seem to be present pre-ESR, however: [https://jargon-
file.org/archive/jargon-1.0.3.dos.txt](https://jargon-
file.org/archive/jargon-1.0.3.dos.txt)

~~~
gumby
Because we didn’t have any Unix systems at MIT while that collection of terms
was assembled. I think the first unix system I saw at the LCS was around 80 or
81.

The gnu project was developed on a vax running Unix that somehow had been
installed at the AI lab. Nobody used it so RMS decided to use it as a
development machine. We had our own OSes, languages, and hardware and at that
point in time Unix offered significantly less power for a large investment of
effort.

~~~
GeorgeTirebiter
LCS ran a pdp-11/45 in 1974 that was used to teach lisp. I don't believe it
ran unix, but it definitely was multi-user.

~~~
gumby
I think it was probably RSTS/E. There were other pdp-11s like the KTV or XGP
machines. There might have been Unix machines someplace (MIT is a big place) I
just meant that never saw any, and in particular around where quux was
assembling the jargon file.

~~~
jis
Nope. It ran an in-house OS named "Delphi". There was a PDP 11/45 at LCS and a
PDP 11/40 in building 38 used to teach 6.031 (the predecessor of 6.001).

~~~
skissane
Is there any information available about this "Delphi" OS?

I've always found obscure historical operating systems fascinating.

~~~
fao_
If you're still interested you might want to ask on TUHS:
[https://minnie.tuhs.org/pipermail/tuhs/](https://minnie.tuhs.org/pipermail/tuhs/)

------
loeg
Still referred to as "runcom" by FreeBSD init (pid 1), for example, in
reference to the /etc/rc program (pid 2):

[https://github.com/freebsd/freebsd/blob/master/sbin/init/ini...](https://github.com/freebsd/freebsd/blob/master/sbin/init/init.c#L1041-L1054)

~~~
rumanator
> Still referred to as "runcom" by FreeBSD init

Not to be confused with zombocom.

~~~
kadal
Welcome to you who have come to zombocom!

~~~
magicalhippo
This is zombo com [https://html5zombo.com/](https://html5zombo.com/)

------
donarb
For me, the hard part is remembering if .bashrc is supposed to source
.bash_profile or vice versa.

~~~
goblin89
My rule of thumb: shell-independent commands go to .profile, those ran at boot
time go to .bash_profile (or shell-appropriate) which then sources .profile,
those ran each time you open a new shell go to .bashrc (or shell-appropriate).

~~~
AareyBaba
OSX is an exception. OSX runs a login shell for each new terminal window and
executes .bash_profile. #
[http://www.joshstaiger.org/archives/2005/07/bash_profile_vs....](http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html)

~~~
boring_twenties
You can do that in most (all?) Unix terminal emulators. It's the -ls option to
xterm and rxvt, or a checkbox in {gnome,mate}-terminal.

------
neetfreek
Tangentially related - but for those interested in finding out the ideas
behind various Debian package names:
[https://wiki.debian.org/WhyTheName](https://wiki.debian.org/WhyTheName)

------
FPGAhacker
My first introduction to .___rc files was with irix back in college. Somehow I
got it into my head that it stood for Resource Chest. I probably just made it
up.

~~~
notatoad
I've never heard that before, but I like it. and next time somebody is asking
this question, I'll probably remember it and repeat it as if it were fact.

------
mariocesar
I was always thinking it was mean something around Resource or Configuration
... For what it means it's just off how is used now, for example, the common
`.prettierc` is a JSON configuration object, just that. I feel like culturally
the `rc` suffix means Configuration.

Maybe unlikely but maybe still, this is one of those things how language
evolves where a word/suffix has an original meaning that is lost in the
practical use day today.

Well, at least! I had no idea the meaning behind it, and it amazes me how I
never think it about it.

~~~
rat9988
In .prettierc only c is the suffix actually. `rc` has never meant
configuration for me. I actually always wondered about what it meant too.

~~~
hombre_fatal
They meant .prettierrc:
[https://prettier.io/docs/en/configuration.html](https://prettier.io/docs/en/configuration.html)

~~~
rat9988
Well, I have to admit he is right and I'm wrong.

~~~
gerdesj
Careful. You can break the internet with a comment like that.

------
Optimal_Persona
Funny, I came across this very same question/similar answer yesterday in
"Build Awesome Command-Line Applications in Ruby 2" by David Copeland
(Pragmatic Programming, 2013): [0]

"The .rc Suffix (Origin Story)

Most UNIX commands use the suffix rc for the name of configuration files.
According to Wikipedia, this extension isn’t an acronym for “resource
configuration” or “runtime configuration” but comes from a command called
RUNCOM.

RUNCOM was created by Louis Pouzin for the Compatible Time-Sharing System
(CTSS), which was one of the first time-sharing operating systems. RUNCOM was
used to execute a series of commands in succession—a precursor to what we now
call a shell script.

He is even credited with coining the term shell, as he describes in a post on
the Internet from 2000 on the origins of the shell:

'After having written dozens of commands for CTSS, I reached the stage where I
felt that commands should be usable as building blocks for writing more
commands, just like subroutine libraries. Hence, I wrote “RUNCOM”, a sort of
shell driving the execution of command scripts, with argument substitution.
The tool became instantly most popular [sic], as it became possible to go home
in the evening while leaving behind long runcoms executing overnight.

Without being invited on the subject, I wrote a paper explaining how the
Multics command language could be designed with [the] objective [of using
commands somehow like a programming language]. And I coined the word “shell”
to name it.'

Although RUNCOM (and CTSS) has long-been retired from regular use, its legacy
lives on both as the name for user-specific configuration files and as the
basis for the UNIX start-up scripts, typically located in /etc/rc.d."

[0] [https://pragprog.com/book/dccar2/build-awesome-command-
line-...](https://pragprog.com/book/dccar2/build-awesome-command-line-
applications-in-ruby-2)

~~~
unused0
But oddly, in Multics they became "ec" (execute command maybe?).

r 13:41 0.055 7

ls >sc1>system_start_up.ec

Segments = 1, Lengths = 2.

r w 2 system_start_up.ec

------
frereubu
Previous thread with 126 comments on the Wikipedia article about Run Commands:
[https://news.ycombinator.com/item?id=20853214](https://news.ycombinator.com/item?id=20853214)

The comments are more interesting than the Wikipedia article...

------
emmanueloga_
I go back and forth on my feeling about terseness, abbreviations and 3 letter
acronyms. 3LA are almost always annoying, specially since they overlap so
much.

In source code sometimes a longer name really helps, but then some people take
it to the extreme and make everything look pretty ugly and tedious to work
with.

In this case, I guess it would not had been that bad to name the files
`.bash.runcommands`. `.bourne-again-shell.run-commands`: maybe too much :-)

~~~
kace91
I think the issue is that abreviations and acronyms are mostly ok only when
its meaning is so widespread it's unmistakable - but then again, an acronym
never reaches that state at birth.

------
migueloller
“Run Commands”. These text files contain commands that are to be run during
startup, like when starting a new bash session, for example.

~~~
john-radio
OP isn't asking the question; they shared a hyperlink to a StackOverflow
conversation that answers the question.

------
konart
Never bothered to google, but always assumed it was something like 'respective
config' :D

------
readwind
It means 'run commands,' I googled it for you.

Just google for "rc unix meaning", as I did. Have to acknowledge I didn't know
it either. But now we all know. Good question.

Edit: more info here,
[https://en.wikipedia.org/wiki/Run_commands](https://en.wikipedia.org/wiki/Run_commands)
.

~~~
pcr910303
> Just google for "rc unix meaning", as I did.

FYI, the link mentions not only 'run commands' but also 'resource control',
'run control', and 'runtime configuration'.

Instead of bashing a stranger to google, reading the link might be more
productive.

~~~
DoofusOfDeath
It's plausible that the GP was trying to teach someone the basics of how to
research this thing.

~~~
hombre_fatal
I do wonder if it's time for some tiny social cost to not even doing a cursory
google search, though. It couldn't be easier, yet all sorts of people's time
is wasted on places like r/learnspanish by people asking "what's pero vs
perro?"

~~~
grawprog
> yet all sorts of people's time is wasted on places like r/learnspanish by
> people asking "what's pero vs perro?"

Yet, if they felt like it was a waste of time they wouldn't bother answering
those people at all. It's not like anyone is forced to respond to someone
asking a question with an easily searched for answer. But people choose to, so
they obviously must feel like it's a good use of their time.

~~~
omniscient_oce
Because people in general would prefer to shit on the person asking to feel
better about their own mighty intelligence and preserve ego. That said, I have
to admit there are some pretty low effort questions around on Quora that
sometimes I wonder if they're just generated by a bot actually. The whole
'explain what the difference between dog vs dogs is' type questions do leave
me perplexed

~~~
grawprog
>explain what the difference between dog vs dogs is'

To be fair, I actually made a search like that recently and was directed to
quora which actually had a question and answer related to the dogs I was
searching for.

