Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Bash 별칭(Alias) 완벽 가이드 – 개념부터 생성, 영구 등록, 삭제까지

리눅스 셸/터미널에서 작업하는 시간이 많다면 별칭(alias)은 놓칠 수 없는 강력한 시간 절약 도구입니다. 이 글에서는 Bash 별칭을 직접 만들고 활용하는 방법을 다양한 예제와 함께 소개합니다.

Bash/리눅스 셸에서 별칭(alias)이란?

별칭(alias)은 긴 명령어를 대신 실행해 주는 일종의 단축키입니다. 그래픽 환경에서 CTRL + C 조합이 '복사' 명령의 단축키인 것처럼(마우스를 화면 가로질러 옮기고 여러 메뉴를 클릭하는 수고를 덜어주듯), 별칭은 더 긴 터미널 명령어를 대신 입력해 주는 단축키입니다(전체 명령어를 일일이 타이핑하는 시간을 아껴줍니다).

Bash는 별칭 기능을 기본으로 제공하며, 비슷한 문법을 공유하는 zsh를 포함한 대부분의 리눅스 셸에서도 사용할 수 있습니다.

이 글의 예제는 Bash와 Zsh 모두에서 동작합니다.

별칭 만들기

별칭은 alias 명령어로 생성합니다.

alias와 unalias 명령어 문법

alias 명령어의 기본 문법은 다음과 같습니다:

alias OPTIONS SHORTCUT=COMMAND

unalias 명령어의 문법은 다음과 같습니다:

unalias OPTIONS SHORTCUT

각 항목의 의미는 다음과 같습니다:

  • OPTIONS: 아래 표에 있는 선택적 플래그 목록
  • SHORTCUT: COMMAND를 실행하기 위해 입력할 단축 이름
    • 영문자·숫자·하이픈(-)·언더스코어(_)로만 구성할 수 있습니다
  • COMMAND: SHORTCUT 입력 시 실제로 실행될 명령어
    • = 문자가 SHORTCUT과 COMMAND를 구분하며, 사이에 공백이 있으면 안 됩니다
    • COMMAND에 공백이 포함되어 있다면 반드시 따옴표로 감싸야 합니다
    • 별칭은 명령어의 첫 번째 단어로만 사용할 수 있습니다
alias 명령어 옵션
-p 현재 정의된 별칭 목록 출력 (alias 명령어 전용)
-a 모든 별칭 삭제 (unalias 명령어 전용)

Bash에서 임시 별칭 지정하기

alias 명령어로 별칭을 만들면 현재 세션에서만 유효합니다. 즉, 열려 있는 터미널 창이나 원격 서버 로그인 세션 안에서만 사용할 수 있습니다.

터미널 종료, 로그아웃, 재부팅 등을 하면 모든 별칭이 사라지며, 이후 세션에서 자동으로 다시 생성되지 않습니다.

예제 – 별칭 만들고 사용하기

간단한 별칭 정의 예제입니다:

alias say_hello='echo "Hello LinuxScrew!"'

위 코드는 say_hello라는 별칭을 정의하며, 실행 시 다음 명령어가 동작합니다:

echo "Hello LinuxScrew!"

이제 전체 명령어를 타이핑할 필요 없이 별칭만 입력하면 됩니다:

say_hello

이렇게 간단한 예제에서도 이미 상당한 타이핑을 줄일 수 있습니다. 더 복잡한 명령어라면 별칭 하나로 긴 명령 문자열을 매번 외우거나 입력하는 수고를 크게 덜 수 있습니다.

Bash에서 별칭 영구 등록하기

창을 닫거나 로그아웃, 재부팅한 후에도 별칭을 유지하고 싶다면 alias 명령어를 .bashrc 파일에 추가하세요. 로그인할 때마다 자동으로 다시 불러옵니다:

nano ~/.bashrc

.bashrc 파일은 사용자 계정의 Bash 셸 동작을 정의하는 설정 파일입니다. 파일 끝에 alias 명령어를 한 줄씩 추가해 두면, 로그인할 때마다 해당 별칭들이 자동으로 설정됩니다.

기존 별칭 목록 확인하기

alias 명령어에 -p 옵션을 붙여 실행하면 현재 정의된 별칭을 모두 확인할 수 있습니다:

alias -p

별칭 삭제하기

특정 별칭을 삭제하려면 unalias를 사용합니다:

unalias say_hello

모든 별칭 한 번에 지우기

unalias 명령어에 -a 옵션을 붙여 실행하면 정의된 모든 별칭을 한꺼번에 삭제할 수 있습니다:

unalias -a

Zsh의 추가 기능

위 내용은 Zsh 셸에서도 그대로 동작하지만, Zsh에는 별칭 관련 추가 옵션이 더 많이 포함되어 있습니다:

https://zsh.sourceforge.net/Intro/intro_8.html

Zsh는 Apple macOS의 기본 셸이 되면서 인기가 꾸준히 높아지고 있습니다. 하지만 대부분의 리눅스 배포판에서는 여전히 Bash가 기본 셸이므로, 혼란을 피하기 위해 이 글에서는 Zsh의 추가 기능까지 깊게 다루지 않겠습니다. 그 내용은 별도의 글에서 자세히 설명할 예정입니다!