더북(TheBook)

히스토리 표현식 !$는 ‘가장 최근에 입력한 명령의 마지막 단어’를 가리킨다. 따라서 rm !$는 ‘조금 전 ls 명령으로 확인한 목록의 파일을 삭제하라’는 뜻이 된다. 즉, *.txt와 같은 뜻을 가진다. 애스터리스크 뒤에 오타로 공백이 들어갔더라도 ls 명령의 결과에서 실수를 확인할 수 있기 때문에 안전하다.

$ ls * .txt
/bin/ls: cannot access '.txt': No such file or directory
123   a.txt   b.txt   c.txt   dont-delete-me   important-file   passwords

rm 대신 ls 명령을 먼저 실행하는 것도 좋은 습관이며, 오타를 낸 표현식을 제대로 수정한 후 안전하게 삭제를 진행할 수 있다. lsrm !$를 함께 사용하면 의도치 않은 파일 삭제를 대부분 방지할 수 있다.

이와 비슷하게 삭제 전에 head 명령으로 파일의 내용을 확인하고 rm !$를 실행해 안전하게 파일을 삭제하는 방법도 있다.

icon_folder chapter03 > never_delete_wrong_file_2

$ head myfile.txt
(myfile.txt의 첫 열 줄의 내용이 출력)
$ rm !$
rm myfile.txt
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.