Snow flake

[command] rm 명령어 본문

Programming/Linux

[command] rm 명령어

MAYSON 2022. 10. 11. 13:10

rm 명령어는 Remove의 약자로, 뜻 그대로 파일을 제거하는 명령어 입니다. 테스트 시에는 불필요한 파일이나 디렉토리가 많이 생성되어 이것저것 만들었다 지웠다 해보는 것도 좋지만, 리눅스 환경에서는 윈도우나 맥과는 다르게 한 번 삭제된 파일이나 디렉토리의 복구가 어렵습니다.

 

중요한 파일을 관리하는 서버에 접속해 rm 명령어를 사용할 때는 주의가 필요합니다.

# 사용법
rm [파일, 디렉토리]

# 현재 위치한 디렉토리 내 index.jsp 파일 삭제
rm index.jsp
# -f 옵션없이 rm 명령어를 사용 할 경우, 알림창이 뜬다.
rm: remove regular empty file 'index.jsp'?

# y를 입력하면 삭제되고, n을 입력하면 삭제가 안된다.
# 삭제 진행
rm: remove regular empty file 'index.jsp'? y
# 삭제 거부
rm: remove regular empty file 'index.jsp'? n

옵션없이 사용 할 경우, 매번 확인과정을 거치거나 비어있지 않은 디렉토리의 경우 삭제가 불가능하기 때문에 옵션을 사용해 바로 삭제 가능하게 합니다.

# rm 옵션

# -d : 디렉토리 삭제. 디렉토리 내부 상위 디렉토리나 파일이 존재 할 경우는 삭제가 안된다.
rm -d /home/oracle/dir

# -f : 삭제 여부를 묻지 않음
rm -f /home/oracle

# -i : 삭제 할 때마다 사용자에게 여부를 물음
rm -i test1.txt test2.txt test3.txt

# -r : 하위 디렉토리와 상위 디렉토리, 파일을 포함해 모두 삭제
rm -r dir

# -v : 삭제되는 대상의 정보를 출력
rm -v dir/test1.txt

옵션들은 많이 있지만 가장 많이 사용하는 옵션은 아이러니하게도 악마의 명령어라고도 불리는 -r 옵션과 -f 옵션을 합친 -rf 옵션입니다. 두 옵션을 합치게 된다면 삭제 여부를 따지지도 않고, 내부에 존재하는 모든 파일을 삭제해버립니다. -r 옵션도 함께 사용하기 때문에 오타라던가 여러 실수로 비슷한 이름의 디렉토리나 파일명을 지정했다 하더라도 삭제여부를 묻지 않기 때문에 엔터를 치는 순간 되돌릴 수 없습니다.

 

누누히 말하지만 리눅스 환경에서는 파일의 복구가 어렵기 때문에 rm 시에, 특히 -rf 를 사용할 때는 심사숙고 하시길 바랍니다.

# -rf : 모든 디렉토리와 파일을 삭제하고(r), 삭제여부를 묻지 않음(f)
# /home/oracle 디렉토리를 포함해 내부에 있는 모든 파일과 디렉토리를 삭제
rm -rf /home/oracle

경로나 특정 파일을 지정하는 것이 아니라 상대경로를 사용해 내부 파일이나, 특정 확장자만 삭제하는 것도 가능합니다.

# 현재 위치한 디렉토리 내부에 있는 모든 디렉토리, 파일 삭제
rm -rf *

# 현재 위치한 디렉토리 내부에 있는 .jar 확장자를 지닌 파일만 삭제
rm *.jar

'Programming > Linux' 카테고리의 다른 글

[command] mv 명령어  (0) 2022.10.24
[command] cp 명령어  (0) 2022.10.23
[command] touch 명령어와 TIMESTAMP  (0) 2022.10.09
[command] mkdir 명령어  (1) 2022.10.06
리눅스 그 펭귄 "Tux" 이야기  (0) 2022.10.04
Comments