더북(TheBook)

탭 완성

이 기능은 여러분이 정말로 알고 싶을 것이다. Bash는 여러분의 위치와 환경을 추적하면서 여러분이 새로 입력할 명령을 작성하는 동안 지켜보고 있다. Bash는 현재 환경에 있는 파일과 디렉터리를 기반으로 여러분이 입력한 문자들이 어떤 파일이나 디렉터리를 가리키는지 어느 정도 예측하는데, 이때 여러분이 Tab을 누르면 Bash는 명령줄에 예측한 것을 출력한다. Bash가 예측한 것에 만족하면 Enter를 누르면 된다.

예를 들어, 여러분이 인터넷에서 foo-matic-plus_0.9.1-3_amd64.deb이라는 소프트웨어 압축 파일을 내려받았다고 해보자. 압축을 풀 작업 디렉터리로 이 파일을 복사하려면 다음과 같이 입력한다.

$ sudo cp foo-matic-plus_0.9.1-3_amd64.deb /usr/bin/foo-matic/

그런데 이 파일이 현재 디렉터리에 있고 이 디렉터리에서 파일명이 유일하게 foo로 시작한다고 할 때 cp foo까지 입력하고 Tab을 누르면 Bash가 파일명의 나머지 부분을 채워준다. 그러나 Bash가 사람의 마음을 읽는 기능은 없으므로 탭 완성 기능을 사용하려면 원하는 파일을 유일하게 식별할 수 있는 부분까지는 입력해야 한다.

다음 명령을 직접 실행해보라. touch 명령으로 아주 긴 이름의 파일을 만들고 나서 탭 완성 기능으로 파일을 삭제하거나 복사한다.

$ touch my-very-silly-filename_66-b.txt
$ rm my-<tab>
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.