개발

Using RM Commands Safely in Ubuntu

쩌비군 2020. 5. 29. 23:33
728x90

Ubuntu 를 이용하면서 rm 으로 파일이나 디렉토리를 삭제하고 후회한 적이 없다면... 아마 정말 정말 똑똑한 사람이거나, Ubuntu 를 많이 사용하지 않은 사람일 것이다.

 

이번 주말에 그동안 작업 했던 프로젝트 파일들을 정리한다고 파일을 지우고 옮기는 작업을 하다가 보니 아뿔싸.....

 

지우면 안되는 폴더를 “rm-rf” 로 지워버리고 말았다.

 

그래서 rm 명령어를 안전하게 사용할 수 있는 방법을 정리해 보았다.

 

1. rm -i 옵션 이용

rm 의 -i 옵션은 실행하기 전에 삭제 확인을 받는 옵션으로 가장 쉽게 생각하는 방법이다.

alias rm='rm -i'

 

 

2. mv 명령어 이용

mv 의 -t 는 이동될 target 디렉토리를 지정하는 옵션으로 파일/디렉토리를 ubuntu 의 Trash 폴더(~/.local/share/Trash/files)로 이동 시킨다.

alias rm='mv -t ~/.local/share/Trash/files'

이 방법의 문제는 동일한 이름을 갖는 파일/폴더를 삭제하는 경우 “Directory not empty” 라는 메세지가 발생한다. 이런 불편함을 해결하기 위해 Shell Script 를 별도로 작성하여 해결 하곤 했으나, 아래에서 설명할 gio 명령어를 이용하면 아주 쉽게 해결 된다.

 

3. gio trash 명령어 이용

gio trash 를 이용하면 Ubuntu 파일 브라우저에서 Delete 키를 누른 것과 동일한 동작을 수행한다. 바로 파일/폴더가 ubuntu 의 Trash 폴더(~/.local/share/Trash/files)로 이동 된다는 것이다.

alias rm='gio trash'

 

gio trash 의 가장 큰 장점은
    1) “rm -i” 와 달리 삭제된 파일을 되돌릴 수 있다 

    2) “mv” 와 달리 동일한 파일/폴더를 삭제 할 수 있다

 

 

Ubuntu 에서 rm 을 이용한 삭제를 안전하게 바꾸는 방법을 정리해 보았다. 지금부터 취향에 맞게 적용해 보는 것은 어떨까?  나처럼 삭제하면 안되는 파일들을 삭제하는 실수를 막기 위해서 말이다. T-T