/
bash 자동 완성(auto completion) 기능으로 커맨드라인 생산성 높이기

bash 자동 완성(auto completion) 기능으로 커맨드라인 생산성 높이기


개요

bash 는 tab 키로 명령어나 파일명을 자동 완성하는 기능을 제공하므로 타이핑을 줄이고 실수를 방지할 수 있습니다. 하지만 다양한 Linux command line 명령어가 있고 명령어마다 상이한 문법과 옵션을 제공하므로 경험 많은 사용자라도 이 많은 옵션들을 다 기억하는 것은 어렵습니다.


예로 git 이나 /wiki/spaces/LINC/pages/887423400 는 많은 하위 명령어와 이에 따른 옵션을 제공하므로 외우기가 어려우므로 사용할 때마다 manual 이나 구글링을 통해서 사용법을 검색해 봐야 합니다.


bash completion 은 이런 문제를 해결해주는 패키지로 bash 에서 제공하는 내장 명령어인 complete, compgen, compopt 를 활용해서 주요 명령어별 옵션을 미리 등록해 놓았습니다.

이 기능을 사용하면 tab 키로 명령어와 옵션을 자동 완성할수 있게 해 주므로 자주 사용하지 않는 명령어라도 쉽게 사용해서 command line 생산성을 높여주고 실수를 최소화할수 있도록 도와줍니다.

설치

bash completion 은 다음 패키지를 설치하면 사용할 수 있습니다.

RHEL/CentOS

RHEL/CentOS 7, 8은 다음 명령어로 설치하면 됩니다.

sudo yum install bash-completion


RHEL/CentOS 7 은 다음 추가 패키지를 제공하므로 EPEL YUM 저장소 에서 설치할 수 있습니다.

yum install bash-completion-extras


Ubuntu

Ubuntu 에서는 다음 명령어로 설치하면 됩니다.

sudo apt install bash-completion

github 에서 직접 설치

github 의 bash completion 저장소를 클론해서 직접 설치해도 됩니다.

git clone https://github.com/scop/bash-completion
cd bash-completion


make 로 설치합니다.

autoreconf -i  # if not installing from prepared release tarball
./configure
make           # GNU make required
make check     # optional, requires python3 with pytest >= 3.6, pexpect
make install   # as root


적용

bash completion 을 적용하려면 logout 하고 다시 로그인하면 자동 완성을 사용할 수 있습니다.

만약 현재 세션에서 자동 완성을 사용할 경우 source 명령어로 설정을 다시 읽어주면 됩니다.

source /etc/profile.d/bash_completion.sh   

같이 보기

Ref

Related content

유닉스/리눅스 명령어를 대체하는 모던 커맨드라인(Modern Unix/Linux Command line)
유닉스/리눅스 명령어를 대체하는 모던 커맨드라인(Modern Unix/Linux Command line)
More like this
bash 자동 완성 기능으로 kubectl 쉽게 사용하기
bash 자동 완성 기능으로 kubectl 쉽게 사용하기
More like this
bash 명령어 히스토리 관리 - readline 사용법 및 line 편집, reverse search 등 단축키 요약
bash 명령어 히스토리 관리 - readline 사용법 및 line 편집, reverse search 등 단축키 요약
More like this
설정 파일 변경 사항을 반영하는 linux source 명령어 사용법
설정 파일 변경 사항을 반영하는 linux source 명령어 사용법
More like this
bash 에서 readline 기능인 Ctrl-a, Ctrl-e 키가 동작하지 않을 때
bash 에서 readline 기능인 Ctrl-a, Ctrl-e 키가 동작하지 않을 때
More like this
rpm command 정리 및 사용법
rpm command 정리 및 사용법
More like this