초보리눅스

HOME > 초보리눅스
초보리눅스| 리눅스 초급자들을 위한 기초지식을 제공하는 곳입니다.
 
rm (파일이나 디렉토리를 삭제한다.)
조회 : 4,782  


rm

remove의 약어로서 파일이나 디렉토리를 삭제하는 명령어이다.
흔히 하나이상의 파일을 삭제할때 사용하지만 특정 옵션을 사용하면 디렉토리도 삭제할 수 있다.
이 명령어는 rmdir명령어와 함께 알아두기 바란다.
참고로 DOS명령어의 del이라는 명령어와 같은 명령어라고 할 수 있다.

사용형식

       rm  [-dfirvR]  [--directory]  [--force]  [--interactive]  [--recursive]  [--help] [--version]
       [--verbose] name...


사용예 #1

특정 파일하나를 삭제한다.

[root@host1 commmand]# ls -l
합계 20
-rw-r--r--    1 root     root          132  9월 10 16:03 bible.txt
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir1
drwxr-xr-x    3 root     root         4096  9월 14 22:08 dir2
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir3
-rw-r--r--    1 root     root          132  9월 14 21:47 imsi.txt
[root@host1 commmand]#
[root@host1 commmand]# rm imsi.txt
rm: remove 일반 파일 `imsi.txt'? y
[root@host1 commmand]#
[root@host1 commmand]# ls -l
합계 16
-rw-r--r--    1 root     root          132  9월 10 16:03 bible.txt
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir1
drwxr-xr-x    3 root     root         4096  9월 14 22:08 dir2
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir3
[root@host1 commmand]#

위와 같이 imsi.txt라는 파일을 아무런 옵션없이 그냥 "rm imsi.txt'라고 삭제하면 삭제확인을 하게 된다.
이때 그냥 "y"를 입력하면 삭제가 되고 "n"를 입력하면 명령어가 취소되면서 imsi.txt파일은 삭제되지 않는다.

사용예 #2

이번에는 삭제확인을 하지 않고 바로 삭제하는 예를 보인 것이다.

[root@host1 commmand]# ls -l
합계 16
-rw-r--r--    1 root     root          132  9월 10 16:03 bible.txt
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir1
drwxr-xr-x    3 root     root         4096  9월 14 22:08 dir2
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir3
[root@host1 commmand]#
[root@host1 commmand]#
[root@host1 commmand]# rm -f bible.txt
[root@host1 commmand]#
[root@host1 commmand]# ls -l
합계 12
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir1
drwxr-xr-x    3 root     root         4096  9월 14 22:08 dir2
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir3
[root@host1 commmand]#

위의 예와 같이 rm명령어에 -f 옵션을 함께 사용하면 삭제확인하는 단계없이 지정된 파일(bible.txt)를 바로 삭제한다.


사용예 #3

이번에는 특정 디렉토리를 삭제해 보겠다.

[root@host1 commmand]# ls -l
합계 12
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir1
drwxr-xr-x    3 root     root         4096  9월 14 22:08 dir2
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir3
[root@host1 commmand]#
[root@host1 commmand]# rm -f dir3
rm: cannot remove `dir3': 디렉토리입니다
[root@host1 commmand]#

위와 같이 디렉토리를 삭제할 때에는 -r옵션을 사용해야한다.
-r옵션은 디렉토리를 삭제하고자 할 경우에 사용하는 옵션이다.
-r옵션을 사용하면 비어있는 디렉토리를 삭제할 수 있다.
하지만 위의 경우에는 지우고자하는 dir3라는 디렉토리에 파일이나 서브디렉토리가 존재하고 있으므로 삭제되지 않았다.

그렇다면 파일이나 서브디렉토리가 존재하는 특정 디렉토리를 바로 삭제하고자 한다면 어떻게 하면 될까?
다음의 예를 보자.

사용예 #4

[root@host1 commmand]# rm -rf dir3
[root@host1 commmand]#
[root@host1 commmand]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 14 21:53 dir1
drwxr-xr-x    3 root     root         4096  9월 14 22:08 dir2
[root@host1 commmand]#

이번에는 -rf옵션을 함께 사용하였다.
-f옵션은 위의 예에서도 보았듯이 삭제확인을 하지 않기도 하지만 디렉토리를 삭제할 경우에 삭제하고자하는 디렉토리에 파일이나 서브디렉토리가 존재하여도 삭제확인 단계없이 바로 삭제하도록 한다.


사용예 #5


참고로  둘이상의 파일을 삭제코자한다면 다음과 같이 하면 된다.

[root@host1 commmand]# rm bible*
[root@host1 commmand]# rm -f imsi*

위의 첫번째 bible*는 bible로 시작하는 모든 파일을 삭제한다. 하지만 모든 파일의 삭제여부를 확인하게 된다.
두번째는 -f옵션을 사용하였으므로 삭제확인하는 단계없이 바로 imsi로 시작하는 모든 파일을 삭제한다.


저작권 :  수퍼유저코리아 (www.superuser.co.kr),   무단 재배포및 복사를 금합니다.


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1108


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수