웹사이트 검색

Linux에서 Bash 별칭을 만들고 사용하는 다양한 방법


Bash의 별명은 단순히 다른 명령/프로그램을 실행하는 명령 또는 바로가기라고 할 수 있습니다. 별칭은 명령이 매우 길거나 자주 사용되는 명령에 매우 유용합니다. 이 기사를 통해 우리는 별칭이 얼마나 강력한지, 그리고 별칭을 설정하고 사용하는 다양한 방법을 살펴보겠습니다.

Linux에서 Bash 별칭 확인

별칭은 셸 내장 명령이며 다음을 실행하여 확인할 수 있습니다.

type -a alias

alias is a shell builtin

별칭을 점프하고 설정하기 전에 관련된 구성 파일을 볼 수 있습니다. 별칭은 '사용자 수준' 또는 '시스템 수준'에서 설정할 수 있습니다.

셸을 호출하고 "alias"를 입력하면 정의된 별칭 목록을 볼 수 있습니다.

alias

사용자 수준 별칭은 .bashrc 파일 또는 .bash_aliases 파일에서 정의할 수 있습니다. .bash_aliases 파일은 모든 별칭을 다른 매개변수와 함께 .bashrc 파일에 저장하는 대신 별도의 파일로 그룹화하는 것입니다. 처음에는 .bash_aliases를 사용할 수 없으므로 만들어야 합니다.

ls -la ~ | grep -i .bash_aliases       # Check if file is available
touch ~/.bash_aliases                  # Create empty alias file

.bashrc 파일을 열고 다음 섹션을 살펴보세요. 이 코드 섹션은 .bash_aliases 파일이 사용자 홈 디렉터리에 있는지 확인하고 새 터미널 세션을 시작할 때마다 해당 파일을 로드하는 역할을 합니다.

Alias definitions.
You may want to put all your additions into a separate file like
~/.bash_aliases, instead of adding them here directly.
See /usr/share/doc/bash-doc/examples in the bash-doc package.

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

또한 임의의 디렉토리 아래에 사용자 정의 별칭 파일을 만들고 .bashrc 또는 .profile에 정의를 추가하여 로드할 수도 있습니다. 그러나 나는 이것을 선호하지 않으며 .bash_aliases 아래에 모든 별칭을 그룹화하기로 결정했습니다.

.bashrc 파일 아래에 별칭을 추가할 수도 있습니다. 사전 정의된 별칭이 포함된 .bashrc 파일 아래의 alias 섹션을 찾아보세요.

enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Add an "alert" alias for long running commands.  Use like so:
  sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

Linux에서 별칭 만들기

현재 세션에 대해서만 저장되고 현재 세션이 종료되면 삭제되는 임시 별칭을 만들거나 지속되는 영구 별칭을 만들 수 있습니다.

Linux에서 별칭을 만드는 구문입니다.

alias <name-of-the-command>="command to run"

예를 들어, 실제 시나리오에서.

alias Hello="echo welcome to Tecmint"

터미널을 열고 원하는 별칭 명령을 만듭니다. 다른 세션을 열면 새로 생성된 별칭을 사용할 수 없습니다.

alias Hello"echo welcome to Tecmint"
alias
Hello

별칭을 영구적으로 만들려면 .bash_aliases 파일에 추가하세요. 선호하는 텍스트 편집기를 사용하거나 cat 명령 또는 echo 명령을 사용하여 별칭을 추가할 수 있습니다.

echo alias nf="neofetch" >> ~/.bash_aliases
cat >> ~/.bash_aliases
cat ~/.bash_aliases

현재 세션에 변경 사항을 적용하려면 .bash_aliases 파일을 다시 로드해야 합니다.

source ~/.bash_aliases

이제 “neofetch”의 별칭인 “nf”를 실행하면 neofetch 프로그램이 실행됩니다.

nf

명령의 기본 동작을 재정의하려는 경우 별칭이 유용할 수 있습니다. 데모를 위해 시스템 가동 시간, 로그인한 사용자 수, 시스템 로드 평균을 표시하는 uptime 명령을 사용하겠습니다. 이제 uptime 명령의 동작을 재정의하는 별칭을 만들겠습니다.

uptime
cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
source ~/.bash_aliases
uptime

이 예에서 실제 명령을 확인하고 호출하기 전에 bash 별칭에 우선 순위가 있다는 결론을 내릴 수 있습니다.

cat ~/.bash_aliases
source ~/.bash_aliases
uptime

Linux에서 별칭 제거

이제 .bash_aliases 파일에서 uptime 항목을 제거하고 .bash_aliases 파일을 다시 로드하면 여전히 uptime이 인쇄됩니다. 별칭 정의를 사용합니다. 이는 별칭 정의가 현재 셸 세션에 로드되어 새 세션을 시작하거나 다음과 같이 unalias 명령을 실행하여 별칭 정의를 설정 해제해야 하기 때문입니다. 아래 이미지.

unalias uptime

시스템 전체 별칭 추가

지금까지 사용자 수준에서 별칭을 설정하는 방법을 살펴보았습니다. 전역적으로 별칭을 설정하려면 “/etc/bash.bashrc ” 파일을 수정하고 전역적으로 적용되는 별칭을 추가할 수 있습니다. bash.bashrc 파일을 수정하려면 높은 권한이 필요합니다.

또는 “/etc/profile.d/” 아래에 스크립트를 만듭니다. 쉘에 로그인하면 “/etc/profile”은 실제로 ~/.profile을 실행하기 전에 profile.d 아래의 모든 스크립트를 실행합니다. 이 방법을 사용하면 /etc/profile 또는 /etc/bash.bashrc 파일을 망칠 위험이 줄어듭니다.

sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”

다음은 /etc/profiles.d/ 아래에 있는 스크립트 실행을 관리하는 /etc/profile에서 가져온 코드입니다. 확장자가 .sh인 파일을 찾아 소스 명령을 실행합니다.

tail /etc/profile

이것이 바로 이 기사입니다. 우리는 별칭이 무엇인지, 별칭과 관련된 구성 파일, 별칭을 로컬 및 전역으로 설정하는 다양한 방법을 살펴보았습니다.