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
같이 보기
- bash 명령어 히스토리 관리 - readline 사용법 및 line 편집, reverse search 등 단축키 요약
- 설정 파일 변경 사항을 반영하는 linux source 명령어 사용법