Computer >> 컴퓨터 >  >> 시스템 >> Linux

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

리눅스를 사용한 지 어느 정도 되었고, 특히 리눅스 명령줄에 익숙해지기 시작했다면 BASH가 리눅스 셸(shell)이라는 사실을 이미 알고 있을 것입니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

BASH는 Bourne Again Shell의 약자입니다. 이 외에도 csh, zsh, dash, korn 등 다양한 종류의 셸이 존재합니다.

셸은 사용자가 입력한 명령을 받아 실행하는 인터프리터로, 파일 시스템 탐색, 프로그램 실행, 장치와의 상호 작용 같은 다양한 작업을 수행합니다.

데비안, 우분투, 리눅스 민트 등 많은 데비안 계열 리눅스 배포판은 BASH 대신 DASH를 기본 셸로 사용합니다. DASH는 Debian Almquist Shell의 약자로, BASH와 매우 유사하지만 훨씬 가볍다는 특징이 있습니다.

BASH를 사용하든 DASH를 사용하든 시스템에는 .bashrc라는 파일이 존재합니다. 실제로는 하나가 아니라 여러 개의 .bashrc 파일이 있습니다.

터미널 창을 열고 다음 명령어를 입력해 직접 확인해 보세요.

find / -name .bashrc

이 명령을 실행하면 다음과 같은 세 가지 결과가 반환됩니다.

  • /etc/skel/.bashrc
  • /home/gary/.bashrc
  • /root/.bashrc

/etc/skel/.bashrc 파일은 시스템에 새 사용자가 생성될 때마다 해당 사용자의 홈 폴더로 복사되는 기본 템플릿입니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

/home/gary/.bashrc는 사용자 gary가 셸을 열 때마다 적용되는 파일이며, /root/.bashrc는 root 계정이 셸을 열 때 사용됩니다.

.bashrc 파일이란 무엇일까요?

.bashrc 파일은 사용자가 새 셸을 열 때마다 자동으로 실행되는 셸 스크립트입니다.

예를 들어 터미널 창을 열고 다음 명령어를 입력해 보세요.

source ~/.bashrc

무언가 화면에 표시되었나요? .bashrc 파일의 내용에 따라 표시될 수도 있고 그렇지 않을 수도 있습니다. 새 터미널을 열거나, 셸을 수동으로 실행하거나, 방금처럼 .bashrc를 다시 로드할 때마다 이 스크립트가 자동으로 실행되기 때문입니다.

따라서 .bashrc 파일은 셸을 열 때마다 항상 실행하고 싶은 명령어를 넣어두기에 가장 좋은 곳입니다.

간단한 예제를 통해 직접 확인해 보겠습니다. nano 편집기로 .bashrc 파일을 열어 보세요.

nano ~/.bashrc

파일의 맨 끝에 다음 명령어를 추가합니다.

echo Hello $USER

CTRL + O를 눌러 파일을 저장한 후, CTRL + X를 눌러 nano를 종료합니다.

이제 터미널 창에서 다음 명령어를 실행합니다.

source ~/.bashrc

화면에 "Hello"라는 단어와 함께 현재 로그인한 사용자 이름이 출력될 것입니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

.bashrc 파일은 원하는 어떤 작업에도 활용할 수 있습니다. 대표적인 예가 바로 neofetch입니다. Neofetch는 운영체제, CPU, 메모리 등 중요한 시스템 정보를 시각적으로 표시해 주는 도구로, 많은 사용자가 터미널 로그인 메시지로 활용합니다. 직접 사용해 보려면 먼저 시스템에 neofetch를 설치하세요.

sudo apt install neofetch

설치가 완료되면 .bashrc 파일에 neofetch를 호출하는 한 줄을 추가합니다.

neofetch

마지막으로 터미널에서 Bash를 다시 로드합니다.

source ~/.bashrc

이제 터미널을 열 때마다 아래 이미지처럼 사용 중인 배포판의 정보가 표시됩니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

별칭(Alias) 활용하기

.bashrc 파일은 자주 사용하는 긴 명령어에 별칭(alias)을 지정하는 용도로도 널리 쓰입니다. 매번 긴 명령어를 입력하거나 외울 필요 없이 짧은 별칭만으로 실행할 수 있기 때문입니다.

일부 사용자는 자신만의 .bashrc 파일이 없는 다른 환경에서 실제 명령어를 잊어버릴 수 있다는 이유로 별칭 사용을 부정적으로 보기도 합니다.

하지만 사실 모든 명령어는 온라인 문서와 man 페이지에서 언제든 확인할 수 있으므로, 별칭을 추가하는 것이 단점보다 장점이 훨씬 많습니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

우분투나 리눅스 민트 같은 배포판의 기본 .bashrc 파일을 열어보면 이미 몇 가지 별칭이 설정되어 있는 것을 확인할 수 있습니다.

예를 들어 다음과 같습니다.

alias listall='ls -alF'

ls 명령어는 파일 시스템 내의 파일과 디렉터리를 나열하는 데 사용됩니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

-alF 옵션은 점(.)으로 시작하는 숨김 파일을 포함한 모든 파일을 표시하며, 파일 목록에 작성자 이름이 함께 출력되고 각 파일의 유형이 분류되어 나타납니다.

다른 형식으로 목록을 출력하는 별칭도 만들 수 있습니다.

alias listcols='ls -A -CF'

-A 옵션은 모든 파일과 디렉터리를 나열하되 .. 항목만 생략합니다.

-CF 옵션은 항목들을 분류 정보와 함께 열(column) 단위로 정렬하여 표시합니다.

.bashrc 파일이란? 리눅스 셸 설정 파일의 용도와 활용법 총정리

이제 언제든지 이 별칭을 터미널에 직접 입력하여 사용할 수 있습니다.

listall

특정 명령어를 자주 사용하는데 그 길이가 길다면, 자신만의 별칭을 .bashrc 파일에 추가하는 것이 좋습니다.

별칭의 기본 작성 형식은 다음과 같습니다.

alias 별칭이름='실행할 명령어'

즉, alias 명령어 뒤에 별칭 이름을 지정하고, 등호(=) 뒤에 실행하고자 하는 실제 명령어를 작성하면 됩니다.

예를 들어 다음과 같이 작성할 수 있습니다.

alias up='cd ..'

이렇게 설정하면 up만 입력해도 한 단계 상위 디렉터리로 바로 이동할 수 있습니다.

마무리

.bashrc 파일은 매우 강력한 도구로, 리눅스 셸 환경을 자신만의 스타일로 꾸밀 수 있는 훌륭한 수단입니다. 올바르게 활용하면 작업 생산성을 몇 배나 높일 수 있습니다.

자주 묻는 질문(FAQ)

Q. 맥(macOS)에서 .bashrc 파일을 편집하려면 어떻게 해야 하나요?

리눅스에서처럼 간단합니다. 맥의 터미널(Terminal) 앱을 통해 .bashrc 파일에 접근하고 생성하는 데 몇 초밖에 걸리지 않습니다.

Q. 윈도우도 맥이나 리눅스처럼 .bashrc를 지원하나요?

아니요, 기본적으로는 지원하지 않습니다. 다만 윈도우에서는 명령 프롬프트(Command Prompt)를 사용해 .bashrc와 유사한 기능을 구현할 수 있습니다.