find 명령어는 아시다시피 파일을 검색하기 위한 명령어 입니다.
그리고 rm 명령어는 디렉토리와 파일 삭제를 위한 명령어 죠.
이 두개를 이용하여 불필요한 파일을 일괄적으로 삭제 하는 방법에 대해 알아 보겠습니다.
/home/windpyj 경로에 a b c 의 디렉토리를 만들었습니다.
windpyj@ubuntu:~$ ls -l
total 12
drwxr-xr-x 2 windpyj windpyj 4096 2007-05-17 19:45 a
drwxr-xr-x 2 windpyj windpyj 4096 2007-05-17 19:45 b
drwxr-xr-x 2 windpyj windpyj 4096 2007-05-17 19:46 c
windpyj@ubuntu:~$ ls -l
total 12
drwxr-xr-x 2 windpyj windpyj 4096 2007-05-17 19:45 a
drwxr-xr-x 2 windpyj windpyj 4096 2007-05-17 19:45 b
drwxr-xr-x 2 windpyj windpyj 4096 2007-05-17 19:46 c
a b c 각각의 디렉토리 안의 파일을 다음과 같이 1~9.aaaa 란 파일을 넣어 두었습니다.
windpyj@ubuntu:~$ ls -l a b c
a:
total 0
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 1.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 2.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 3.aaaa
windpyj@ubuntu:~$ ls -l a b c
a:
total 0
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 1.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 2.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 3.aaaa
b:
total 0
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 4.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 5.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 6.aaaa
total 0
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 4.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 5.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:48 6.aaaa
c:
total 0
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:49 7.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:49 8.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:49 9.aaaa
total 0
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:49 7.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:49 8.aaaa
-rw-r--r-- 1 windpyj windpyj 0 2007-05-17 19:49 9.aaaa
현재 경로를 확인해 보았습니다.
windpyj@ubuntu:~$ pwd
/home/windpyj
windpyj@ubuntu:~$ pwd
/home/windpyj
find 명령어로 확장자가 aaaa 인 파일을 /home/windpyj 내의 디렉토리에서 검색을 했습니다.
windpyj@ubuntu:~$ find /home/windpyj -name *.aaaa
/home/windpyj/a/1.aaaa
/home/windpyj/a/2.aaaa
/home/windpyj/a/3.aaaa
/home/windpyj/b/4.aaaa
/home/windpyj/b/5.aaaa
/home/windpyj/b/6.aaaa
/home/windpyj/c/7.aaaa
/home/windpyj/c/8.aaaa
/home/windpyj/c/9.aaaa
windpyj@ubuntu:~$ find /home/windpyj -name *.aaaa
/home/windpyj/a/1.aaaa
/home/windpyj/a/2.aaaa
/home/windpyj/a/3.aaaa
/home/windpyj/b/4.aaaa
/home/windpyj/b/5.aaaa
/home/windpyj/b/6.aaaa
/home/windpyj/c/7.aaaa
/home/windpyj/c/8.aaaa
/home/windpyj/c/9.aaaa
이제 /home/windpyj 내의 디렉토리 a b c에 있는 확장자가 aaaa인 파일을 삭제하여 보겠습니다.
find명령어는 검색을 하고 -exec 옵션을 통해 뒤에 오는 rm 명령어가 함께 실행이 됩니다.
그래서 일괄적으로 검색된 파일을 한번에 삭제가 가능합니다.
windpyj@ubuntu:~$ find /home/windpyj -name *.aaaa -exec rm -f {} \;
find명령어는 검색을 하고 -exec 옵션을 통해 뒤에 오는 rm 명령어가 함께 실행이 됩니다.
그래서 일괄적으로 검색된 파일을 한번에 삭제가 가능합니다.
windpyj@ubuntu:~$ find /home/windpyj -name *.aaaa -exec rm -f {} \;
삭제 후 a b c 디렉토리를 살펴보니 아무것도 없네요...
windpyj@ubuntu:~$ ls -l a b c
a:
total 0
windpyj@ubuntu:~$ ls -l a b c
a:
total 0
b:
total 0
total 0
c:
total 0
total 0
주의] 모든 로그파일인 *.log 파일을 삭제한다고
$ find / -name *.log -exec rm -f {} \;
위와 같이 명령어를 실행하면 모든 로그파일이 전부 삭제되오니 가급적 / 를 사용하지 않도록 주의해야 합니다.
'Linux' 카테고리의 다른 글
우분투 데스크탑 - 로그인 해상도 설정 (2) | 2007.06.15 |
---|---|
파티션 설정 없이 윈도에서 우분투 리눅스 설치 (11) | 2007.06.04 |
우분투 데스크탑 7.04 Feisty Fawn 설치 (2) | 2007.05.16 |
우분투 서버 - DNS 구축 (bind 설치) (0) | 2007.04.01 |
리눅스 명령어 - ab (0) | 2007.04.01 |