rm 명령어
1. rm 명령어
‘rm 명령어‘ 는 파일 및 디렉토리를 삭제하는 명령어이다. ‘rm 명령어’ 는 심볼릭 링크는 삭제하지만 링크의 대상 파일은 삭제하지 않는다. ls 명령어와 함께 많이 사용되는 명령어이다.
rm(remove)
명령어 | rm –remove 파일 및 디렉토리 삭제 |
~]# rm -i | –interactive 기존 파일을 삭제하기 전에 물어본다. inter:매장하다. active:유효한,능동의 |
~]# rm -r | –recursive: 재귀 재귀적으로 디렉토리를 삭제한다. = 하위 디렉토리 포함 삭제이며 보통 디렉토리 삭제 시 같이 사용하는 옵션이다. |
~]# rm -f | –force:힘,정신적힘 존재하지 않는 파일은 확인 메시지 없이 삭제하라는 옵션 |
~]# rm -v | –verbose:말수가 많은 삭제가 완료 되었다는 메시지를 보여주는 옵션이다. |
2. rm 명령어 – root 삭제방지
호스팅 업무를 하다 보면 누군가 지우지 말아야 할 파일을 지우는 경우가 있다. 이런 경우 백업 파일을 확인하여
대부분의 복구가 가능하다. 하지만 ‘/’ 디렉토리를 지우는 경우가 생길 수 있는데 스냅샷이 있어 복구 하더라도 번거롭다.
### rm으로 root 삭제 방지 ### preserve:보존하다
~]# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i --preserve-root'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
preserve-root 옵션을 사용하면 / 루트 디렉토리가 삭제되지 않는다.
~]# rm -f /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
~]# 출처:https://blog.naver.com/duddnswnd1/221365644864
### ###
이런 문제 때문에 서버에 미리 설정을 하는 것이 좋다. 실제로 실수로 rm -rf 명령어 실행을 잘못해서 루트 디렉토리를 삭제하여 복구가 불가능한 문제를 몇 번 들은 적이 있기 때문이다. alias rm=’rm -i –preserve-root’ 설정으로 위와 같은 메시지가 나오며 실수로 명령어를 실행해도 root 디렉토리 삭제 명령어 실행되어도 root가 삭제가 되지 않는다.