더북(TheBook)

3.2.3 파일 삭제 실수는 이제 안녕(명령 히스토리를 활용한 방법)

*.txt 같은 파일명 패턴을 사용하려다 오타로 인해 엉뚱한 파일을 삭제해본 경험이 있을 것이다. 다음은 애스터리스크 뒤에 공백 문자를 잘못 삽입해 모든 파일을 삭제해버린 예다.

icon_folder chapter03 > never_delete_wrong_file_1

$ ls
123 a.txt b.txt c.txt dont-delete-me important-file passwords
$ rm * .txt               # 위험!! 모든 파일이 삭제되니 실행 금지!!

이 같은 실수를 막기 위해 가장 흔히 쓰이는 대책은 rmrm -i의 별명으로 사용해 삭제 전에 확인을 거치도록 하는 방법이다.

$ alias rm='rm -i'        # 셸 설정에서 흔히 볼 수 있는 별명 정의
$ rm *.txt
/bin/rm: remove regular file 'a.txt'? y
/bin/rm: remove regular file 'b.txt'? y
/bin/rm: remove regular file 'c.txt'? y

이제 이런 오타가 치명적으로 위험하지는 않다. rm –i는 파일 삭제 전에 항상 확인을 요구하기 때문이다.

$ rm * .txt
/bin/rm: remove regular file '123'?   # 실수를 저질렀다. 삭제를 중단한다
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.