리눅스 · 3 min read · Jan 18, 2026

리눅스 셸의 명령줄 별칭

지금까지 이 튜토리얼 시리즈에서는 cd 명령과 pushd / popd 명령, 그리고 CDPATH 환경 변수의 기본 사용법 및 관련 세부 사항에 대해 논의했습니다. 이번 네 번째이자 마지막 편에서는 별칭의 개념과 이를 사용하여 명령줄 탐색을 더 쉽고 매끄럽게 만드는 방법에 대해 논의하겠습니다.

리눅스의 명령줄 별칭

일반적으로 별칭은 복잡한 명령이나 명령 그룹(인수 또는 옵션 포함)에 대한 짧은 이름 또는 약어로 생각할 수 있습니다. 기본적으로 별칭을 사용하면 기억하기 쉬운 이름을 만들어서 쉽게 입력하거나 기억하기 어려운 명령에 대한 이름을 생성할 수 있습니다.

예를 들어, 다음 명령은 ‘cd ~’ 명령에 대한 별칭 ‘home’을 생성합니다:

alias home="cd ~"

이는 이제 시스템의 어느 곳에서든 홈 디렉토리로 돌아가고 싶을 때 ‘home’을 빠르게 입력하고 Enter 키를 누를 수 있음을 의미합니다.

별칭 명령의 매뉴얼 페이지에서 이 유틸리티에 대해 다음과 같이 설명합니다:

The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered  

An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.

그렇다면 별칭이 명령줄 탐색에 어떻게 도움이 될까요? 간단한 예를 들어 보겠습니다:

예를 들어, /home/himanshu/projects/howtoforge 디렉토리에서 작업하고 있으며, 이 디렉토리에는 여러 하위 디렉토리와 하위 하위 디렉토리가 포함되어 있다고 가정해 보겠습니다. 예를 들어, 다음은 하나의 완전한 디렉토리 브랜치입니다:

/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final

이제 ‘final’ 디렉토리에 있고 ‘tips-tricks’ 디렉토리로 돌아가고 싶고, 그곳에서 ‘howtoforge’ 디렉토리로 돌아가야 한다고 상상해 보세요. 당신은 무엇을 할 것인가요?

보통 다음과 같은 명령 세트를 실행하게 됩니다:

cd ../..
cd ../../..

이 접근 방식이 본질적으로 잘못된 것은 아니지만, 특히 매우 긴 경로에서 5개의 디렉토리로 돌아가야 할 때는 확실히 편리하지 않습니다. 그렇다면 해결책은 무엇일까요? 답은: 별칭입니다.

당신이 할 수 있는 것은 각 cd .. 명령에 대해 기억하기 쉽고 입력하기 쉬운 별칭을 만드는 것입니다. 예를 들어:

alias bk1="cd .."  
alias bk2="cd ../.."  
alias bk3="cd ../../.."  
alias bk4="cd ../../../.."  
alias bk5="cd ../../../../.."

이제 현재 작업 디렉토리에서 5곳 뒤로 돌아가고 싶을 때는 다음 명령을 실행하면 됩니다:

bk5

이제 쉽지 않나요?

관련 세부 사항

지금까지 별칭을 정의하는 데 사용한 기술(셸 프롬프트에서 alias 명령 사용)은 효과적이지만, 별칭은 현재 터미널 세션에만 존재합니다. 당신이 정의한 별칭이 이후에 시작하는 새로운 명령줄 터미널 창/탭에서 사용될 수 있도록 지속되기를 원할 가능성이 높습니다.

이를 위해서는 ~/.bash_aliases 파일에 별칭을 정의해야 하며, 이 파일은 기본적으로 ~/.bashrc 파일에 의해 로드됩니다(구버전의 Ubuntu를 사용하고 있다면 확인해 보세요).

다음은 .bashrc 파일에서 .bash_aliases 파일에 대해 설명하는 발췌입니다:

# 별칭 정의.  
# 모든 추가 사항을 여기 직접 추가하는 대신  
# ~/.bash_aliases와 같은 별도의 파일에 넣고 싶을 수 있습니다.  
# bash-doc 패키지의 /usr/share/doc/bash-doc/examples를 참조하세요.  

if [ -f ~/.bash_aliases ]; then   
      . ~/.bash_aliases  
fi

별칭 정의를 .bash_aliases 파일에 추가하면 해당 별칭은 모든 새로운 터미널에서 사용할 수 있습니다. 그러나 해당 별칭을 정의할 때 이미 열려 있던 다른 터미널에서는 사용할 수 없습니다 - 해결 방법은 해당 터미널에서 .bashrc를 소스하는 것입니다. 다음은 실행해야 할 정확한 명령입니다:

source ~/.bashrc

이것이 너무 많은 작업처럼 들린다면(네, 게으른 여러분을 보고 있습니다), 다음은 이를 모두 수행하는 단축키입니다:

"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases

말할 필요도 없이, [the-alias]를 실제 명령으로 바꿔야 합니다. 예를 들어:

"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases

이제 별칭을 만들고 몇 달 동안 사용해왔다고 가정해 보겠습니다. 갑자기 어느 날, 그 중 하나가 예상대로 작동하지 않는 것 같다는 의구심이 듭니다. 그래서 해당 별칭에 할당된 정확한 명령을 확인할 필요성을 느낍니다. 당신은 무엇을 할 것인가요?

물론, .bash_aliases 파일을 열고 거기에서 확인할 수 있지만, 이 과정은 별칭이 많이 포함된 파일일 경우 다소 시간이 걸릴 수 있습니다. 따라서 쉽게 해결할 방법을 찾고 있다면, 다음과 같이 별칭 이름을 인수로 하여 alias 명령을 실행하면 됩니다.

예를 들어:

$ alias bk6  
alias bk6='cd ../../../../../..'

위의 명령은 bk6 별칭에 할당된 실제 명령을 표시했습니다. 또 다른 방법은 type 명령을 사용하는 것입니다. 다음은 예입니다:

$ type bk6  
bk6 is aliased to `cd ../../../../../..'

따라서 type 명령은 더 이해하기 쉬운 출력을 생성합니다.

여기서 공유할 가치가 있는 또 다른 점은 일반적으로 자주 하는 오타에 대해 별칭을 사용할 수 있다는 것입니다. 예를 들어:

alias mroe='more'

마지막으로, 모든 사람이 별칭 사용에 찬성하는 것은 아닙니다. 대부분은 자신이 편의를 위해 정의한 별칭에 익숙해지면, 그 별칭이 존재하지 않는 다른 시스템에서 작업하기가 정말 어렵다고 주장합니다(그리고 그곳에서 별칭을 생성할 수 있는 것도 아닙니다). 별칭 사용을 권장하지 않는 전문가들이 있는 이유에 대한 더 많은(및 정확한) 이유는 여기를 참조할 수 있습니다. **

결론

우리가 이전 부분에서 논의한 CDPATH 환경 변수와 마찬가지로, 별칭도 매우 신중하게 사용해야 하는 양날의 검입니다. 그러나 모든 것에는 장단점이 있으므로 낙담하지 마세요. 별칭과 같은 개념을 다룰 때는 연습과 완전한 지식이 핵심입니다.

이로써 이 튜토리얼 시리즈가 끝났습니다. 여러분이 즐기고 새로운 것/개념을 배우는 데 도움이 되었기를 바랍니다. 의문이나 질문이 있으시면 아래 댓글로 저희와(그리고 전 세계와) 공유해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.