파일과 디렉토리 삭제하기(rm)
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,090 조회
- 0 추천
- 목록
본문
파일과 디렉토리 삭제하기(rm)
불필요한 파일을 삭제하는 리눅스명령어는 rm이다.
그리고 rm명령어는 remove의 약어로서 파일이나 디렉토리를 삭제하는 명령어이다.
흔히 하나 이상의 파일을 삭제할 때 사용하지만 특정 옵션을 사용하면 디렉토리도 삭제할 수 있다.
한가지 알아두어야 할 것은 rm명령어는 “rm -i”로 앨리아스(alias)되어 있다.
따라서 그냥 rm만 실행하여도 “rm -i”와 같이 사용된다.
모든 사용자의 홈디렉토리에 있는 .bashrc파일에 앨리아스 설정이 되어 있으므로 이 파일을 확인하고 수정하여 앨리아스를 제거하거나 변경할 수 있다.
간단한 예부터 보도록 하자.
[sspark@sulinux queen]$ls -l 합계 1204 -rwxr-xr-x 1 sspark sspark 1224356 3월 19 05:02 cryptsetup drwxr-xr-x 2 sspark sspark 4096 3월 19 04:47 sulinux [sspark@sulinux queen]$ [sspark@sulinux queen]$rm cryptsetup rm: remove 일반 파일 `cryptsetup'? y [sspark@sulinux queen]$ [sspark@sulinux queen]$ls -l 합계 4 drwxr-xr-x 2 sspark sspark 4096 3월 19 04:47 sulinux [sspark@sulinux queen]$ |
위의 예는 cryptsetup이라는 파일을 삭제하는 예로서 아무런 옵션없이 rm을 사용하면 -i옵션이 적용되어 삭제확인을 한다.
따라서 y라고 입력을 하면 cryptsetup파일이 삭제된다.
당연한 얘기겠지만 y대신 n을 입력하면 삭제되지 않는다.
그리고 다음은 rm으로 파일을 삭제할 때에 -f옵션을 사용한 예로서 -f옵션을 확인과정 없이 즉시 파일을 삭제할 때 사용하는 옵션이다.
다음 예를 보자.
[sspark@sulinux queen]$ls -l 합계 224 drwxr-xr-x 2 sspark sspark 4096 3월 19 04:47 sulinux -rwxr-xr-x 1 sspark sspark 219692 3월 19 05:04 tc [sspark@sulinux queen]$ [sspark@sulinux queen]$rm -f tc [sspark@sulinux queen]$ [sspark@sulinux queen]$ls -l 합계 4 drwxr-xr-x 2 sspark sspark 4096 3월 19 04:47 sulinux [sspark@sulinux queen]$ |
위의 예에서 보듯이 -f옵션을 사용하면 삭제확인과정없이 바로 삭제가 된다는 것을 알 수 있다.
이번에는 rm을 이용하여 두개이상의 파일을 삭제하는 방법을 보도록 하자. 즉, rm을 이용하면 여러 개의 파일을 한꺼번에 삭제할 수 있다.
즉, 파일을 삭제할 수 있는 rm명령어에서 삭제대상파일을 지정할 때에 대상파일의 패턴을 지정할 수 있다.
다음 예를 보자.
[sspark@sulinux ~]$rm -f user* |
위의 예는 현재디렉토리에 존재하는 user로 시작하는 모든 파일을 삭제하는 것이다.
[sspark@sulinux ~]$rm -f /home/sspark/*.htm |
위의 예는 /home/sspark/디렉토리에 존재하는 *.htm인 모든 파일을 삭제한다.
지금까지의 rm에 대한 예는 파일을 대상으로 삭제하는 것이었다.
하지만 rm을 이용하면 파일을 삭제할 수도 있지만 디렉토리까지도 한꺼번에 삭제할 수 있다.
물론 디렉토리를 삭제하는 명령어는 rmdir이라고 알려져 있다.
하지만 대부분의 시스템관리자들이 디렉토리를 삭제할 때에 rmdir보다는 rm명령어를 주로 사용한다.
즉, rm사용시에 -r과 -f옵션을 함께 사용함으로써 비어있든 비어있지 않든 상관없이 디렉토리를 삭제할 수 있다.
다음 예를 보자.
[sspark@sulinux queen]$ls -l 합계 4 drwxr-xr-x 2 sspark sspark 4096 3월 19 04:47 sulinux [sspark@sulinux queen]$ [sspark@sulinux queen]$ [sspark@sulinux queen]$rm -f sulinux/ rm: cannot remove `sulinux/': 디렉토리입니다 [sspark@sulinux queen]$ [sspark@sulinux queen]$ [sspark@sulinux queen]$rm -rf sulinux/ [sspark@sulinux queen]$ [sspark@sulinux queen]$ls -l 합계 0 [sspark@sulinux queen]$ |
위의 예는 sulinux라는 디렉토리를 삭제하는 예로서 먼저 -f옵션만을 사용한 첫번째 예에서는 sulinux디렉토리가 삭제되지 않았다.
즉, 디렉토리를 삭제하기 위해서 -r옵션을 사용해야 하기 때문이다.
따라서 두번째 예에서는 -rf옵션을 사용하였다.
따라서 sulinux디렉토리가 삭제되었다.
당연한 얘기지만 위의 예와 같이 sulinux라는 디렉토리가 삭제되면 그 안에 있던 모든 파일들은 당연히 삭제된다.
정리해 보자. rm에서 -r옵션은 디렉토리를 삭제하고자 할 때 사용해야하는 옵션이다.
그리고 -f옵션은 파일이나 디렉토리에 대한 삭제확인 과정을 생략하도록 하는 옵션이다.
물론 특정 디렉토리를 삭제할 때에 -r옵션과 함께 -f옵션을 사용하면 파일과 디렉토리 삭제에 대한 확인과정을 생략하고 바로 삭제한다.
관련자료
-
이전
-
다음