현재 디렉토리(하위 디렉토리 포함)에서 파일 확장자가 bak인것들만 찾아서 삭제하려면
또는
이런 식으로 하면 된다. 하지만 위 둘 명령어는 동작하는 방식에서 살짝 다르다.
find ... -exec는 (find로 찾은) 파일 하나당 rm 명령어 한번이 실행된다. 즉, 찾은 파일이 1000개이면 rm 명령 또한 1000번 실행된다.
반면, find | xargs 는 find로 찾은 파일을 xargs의 인자로 한꺼번에 넘긴다. 즉, rm 명령은 한번만 실행이 된다.
find . -name '*bak' -exec rm -f {} \;
또는
find . -name '*bak' | xargs rm -f
이런 식으로 하면 된다. 하지만 위 둘 명령어는 동작하는 방식에서 살짝 다르다.
find ... -exec는 (find로 찾은) 파일 하나당 rm 명령어 한번이 실행된다. 즉, 찾은 파일이 1000개이면 rm 명령 또한 1000번 실행된다.
반면, find | xargs 는 find로 찾은 파일을 xargs의 인자로 한꺼번에 넘긴다. 즉, rm 명령은 한번만 실행이 된다.
'리눅스&우분투' 카테고리의 다른 글
듀얼 모니터에서 AWN 사용하기 (0) | 2009.08.09 |
---|---|
gnome-terminal default size setting (0) | 2009.08.09 |
zombie 프로세스 찾기 (0) | 2009.08.09 |
linux history command tip (0) | 2009.08.08 |
Ubuntu에서 cx_Oracle 사용하기 (0) | 2009.08.08 |