관리 메뉴

피터의 개발이야기

[linux] find 사용법 본문

Linux

[linux] find 사용법

기록하는 백앤드개발자 2024. 4. 13. 08:12
반응형

파일 및 디렉터리

 

ㅇ 디렉터리만

 

ㅇ 파일만

 

ㅇ 파일 사이즈 5MB 이상

 

ㅇ 파일사이즈 50KB미만

find . -type f -size -50k

 

ㅇ 파일사이즈 10KB이상 50KB미만

find . -type f -size +10k -size -50k

 

ㅇ 권한이 644만

 

ㅇ 5일 전~3일 전 변경된 파일 구하기

> find /home/tomcat/logs -type f -mtime -5 -mtime +3

 

ㅇ 5일 전인 경우 24*5 시간 전 ~24*4전 사이를 말한다.

> find /home/tomcat/logs -type f -mtime 5

 

ㅇ 60일 지난 파일은 삭제

> find /home/tomcat/logs -type f -mtime +60 -delete

 

- exec

find의 결과 값을 {}에 대입하여 -exec와 \; 사이의 shell을 실행한다.

-exec는 ls -lh {}를 ls -lh ./auth.log로 실행하도록 한다.

 

find 실행 결과만 echo로 출력

 

ㅇ 불필요한 파일 삭제

 ㄴ 2024.4.13 update

 ㄴ 집에서 아이들 영화폴더를 관리하는데 불필요한 파일들이 '._*' 형태로 발생하여 일괄 삭제하였다.

$ find . -type f -name "._*"  -exec rm {} \;

 

 

일괄 작업도 가능하다.

 

1) /home/peter/test 파일크기 5MB가 넘으면 chmod 명령어를 실행하여 권한 수정

> find /home/peter/test -type f -size +5M -exec chmod 755 {} \;

 

- xargs

 exec 커맨드와 유사하다. 인자를 연속으로 나열하여 커맨드를 실행할 수 있다.

>find ./ -name *.log -type f | xargs -I{} cp {} /home/peter/test2/

 

추가로 필요한 기능이나 정리된 점이 있으면 여기에 정리해 나가야겠다.

 

반응형
Comments