파일이나 디렉토리를 삭제하는 명령어
사용법
rm [옵션] [파일/디렉토리] |
옵션
옵션 | 설명 |
-r | 디렉토리와 하위 파일들을 삭제한다. |
-f | 확인과정 없이 파일을 강제로 삭제한다. |
-d | 디렉토리가 비어있을 때만 삭제한다. |
-i | 삭제할때 삭제 여부를 확인한다. alias에 등록된 rm의 기본값. |
-v | 삭제되는 파일의 정보를 출력한다. |
예시
- 기본 : 파일 하나를 삭제하거나 여러 파일을 동시에 삭제 가능하다.
[root@Linux ~]# ls Bye dumpA dumpB dumpB~ Hi tempA tempA- [root@Linux ~]# rm Bye rm: remove regular empty file 'Bye'? y [root@Linux ~]# ls dumpA dumpB dumpB~ Hi tempA tempA- [root@Linux ~]# rm dumpA dumpB rm: remove regular empty file 'dumpA'? y rm: remove regular empty file 'dumpB'? y [root@Linux ~]# ls dumpB~ Hi tempA tempA- |
- -r : 디렉토리 삭제
[root@Linux ~]# mkdir -p up/down # 실습을 위해 상위up 하위down 생성 [root@Linux ~]# rm up rm: cannot remove 'up': Is a directory # 기본 rm 명령어로는 디렉토리 삭제 불가 [root@Linux ~]# rm -r up rm: descend into directory 'up'? y rm: remove directory 'up/down'? y rm: remove directory 'up'? y [root@Linux ~]# ls dumpB~ Hi tempA tempA- |
- -f : 강제로 파일을 지운다.
[root@Linux ~]# ls dumpB~ Hi tempA tempA- [root@Linux ~]# rm -f dumpB~ [root@Linux ~]# ls Hi tempA tempA- |
- -d : 비어있는 디렉토리만 제거
[root@Linux ~]# mkdir -p test/test2 # 하위 폴더 test2를 가진 test디렉토리를 생성 [root@Linux ~]# rm -d test rm: cannot remove 'test': Directory not empty # 디렉토리가 비어있지 않아서 에러가 발생 [root@Linux test]# rm -rf test/* # test 내부의 파일을 삭제 [root@Linux ~]# rm -d test rm: remove directory 'test'? y # 디렉토리가 비어있어 삭제가 되었다. |
- -v : 삭제되는 대상의 정보를 출력한다
[root@Linux ~]# mkdir -p test/test2 # 하위 폴더 test2를 가진 test디렉토리를 생성 [root@Linux ~]# rm -rv test rm: descend into directory 'test'? y rm: remove directory 'test/test2'? y removed directory 'test/test2' rm: remove directory 'test'? y removed directory 'test' # 파일이 삭제될때마다 삭제되는 파일 이름이 출력 |
- -rf : 확인 없이 바로 삭제(가장많이 사용)
[root@Linux ~]# mkdir -p test/test2 # 하위 폴더 test2를 가진 test디렉토리를 생성 [root@Linux ~]# ls test [root@Linux ~]# rm -rf test [root@Linux ~]# ls # 지울것인지 경고 없이 바로 삭제가 되었다. 복구가 거의 불가능해 지워도 될지 확인이 필수 |
참고
--preserve-root
rm에 기본적으로 설정되어 있는 옵션으로 /디렉토리를 삭제할 수 없도록 한다.
[root@Linux ~]# rm -rf / rm: it is dangerous to operate recursively on '/' rm: use --no-preserve-root to override this failsafe |
rm: use --no-preserve-root to override this failsafe 이라는 문구를 출력하며 삭제되지 않아, 중요 파일이 실수로 삭제되는 경우를 막을수 있다.
rmdir : 디렉토리 삭제(빈 디렉토리만 삭제 가능)
[root@Linux ~]# mkdir -p test/test2 # 실습을 위해 test디렉토리에 하위 디렉토리 test2를 생성 [root@Linux ~]# ls -R test test: test2 test/test2: [root@Linux ~]# rmdir test rmdir: failed to remove 'test': Directory not empty # 비어있는 디렉토리가 아니라 실패 |