힘내라 일처리

.rc 에서 rc의 의미 알아보기 ( .bashrc / init.rc / ... ) 본문

알아보기

.rc 에서 rc의 의미 알아보기 ( .bashrc / init.rc / ... )

일처리 2022. 7. 22. 00:09
반응형

개요

리눅스를 이용해서 개발을 하다 보면 *.rc 키워드의 파일들을 자주 만나볼 수 있는데
개발을 하다 보면 그냥 그런가 보다 하고 넘어가게 되는데, rc는 뭐의 약자일까 궁금했습니다.

결론

rcRun Commands 의 약자입니다. 정확히는 runcom의 약자라 봐도 됩니다.
또는 Run Control의 약자이기도 합니다.
다짜고짜 결론을 정리하는 이유는 이게 생각보다 재미있는 역사를 지니고 있어서 그렇습니다.
그래서 이 아래는 runcom의 역사? 를 정리하고자 합니다.

RUNCOM에 대해서

RUNCOM은 초기 운영 체제인 CTSS (범용 시분할 시스템)의 스크립트 실행기입니다. 요즘 리눅스로 따지자면 쉘 스크립트랑 유사하지만, 당시의 CTSS는 지금의 쉘 인터페이스와는 사용법이 달랐고 그 안의 다양한 명령어들을 한 번에 자동으로 실행하기 위한 매크로 스크립트이었던 것 같습니다.
그래서 당시 RUNCOM 스크립트에는 조건 분기나 반복문과 같은 흐름 제어에 대한 기능이 있어 거의 프로그래밍 언어 정도로 이용이 가능하지 않았나 싶습니다.

그리고 이후에 나온 unix 운영체제인 Plan 9 from Bell Labs 의 쉘의 이름이 rc 이었습니다.

지금 나오는 *.sh 는 쉘 스크립트이기 때문에 이름을 가졌듯이 *.rc 파일들도 이러한 역사를 거치면서 나타나게 된 것이 아닌가 싶습니다.

Run Control에 대해서

다만 몇몇 *rc 파일들은 명령어를 실행하지 않고 그 명령어의 설정 등을 다루는 것들이 많습니다. .vimrc .bashrc 같은 것들이요.
이러한 것들은 언제부터 이렇게 부르기 시작했는지의 오랜 역사는 모르지만, Art of Unix Programming (Eric S. Raymond)도서에서는 이러한 rc파일들을 실행 제어 파일이라고 언급되는 것을 알 수 있다고 합니다.

여담

Plan 9 from Bell Labs 운영체제는 다음과 같은 귀여운 마스코트가 있는데 이 마스코드를 그린 화가는 go lang의 마스코트를 그린 르네 프렌치입니다.

 

 

반응형
Comments