본문 바로가기

리눅스

[명령어] find 명령어

728x90

find 명령어

find 명령의 기본 구문

find [검색 경로] [옵션] [검색 조건]

유용한 find 명령의 옵션

  • -type: 파일 형식으로 검색합니다. 예를 들어, -type f는 일반 파일만 검색합니다.
  • -size: 파일 크기로 검색합니다. 예를 들어, -size +10M는 10MB보다 큰 파일을 검색합니다.
  • -mtime: 파일 수정 시간으로 검색합니다. 예를 들어, -mtime -7은 7일 이내에 수정된 파일을 검색합니다.
  • -exec: 검색된 파일에 대해 지정된 명령을 실행합니다. 예를 들어, -exec ls -l {} \;는 검색된 파일의 자세한 정보를 출력합니다.
  • 생성된 지 30일 이상 된 파일만 삭제
crontab -e
0 2 * * * find /var/spool/clientmqueue -ctime +30 -exec rm -f {} \;
find /app/rsyslog -type f -name '*.log' -mtime +300 -ls

find /app/rsyslog -type f -name '*.log' -mtime +300 -exec rm -f {} \;
  • 파일 안에 있는 문자열 찾기
find . -name "*.txt" -type f -print | xargs grep --color=auto -i "aaaaa"
$ find . -type f -print | xargs grep --color=auto -i "aaaaa"                
./ccccc.txt:aaaaa
$ find /home/auser/ -type f -print | xargs grep --color=auto -i "aaaaa"                
/home/auser/ccccc.txt:aaaaa
$ find /home/auser/ -name ccccc.txt -type f -print | xargs grep --color=auto -i "aaaaa"
aaaaa
  • 검색한 문자열 치환(aaaaa -> bbbbb)
find . -name "*.txt" -type f -exec sed -i 's/old/new/g' {} \;
$ cat ccccc.txt 
aaaaa
find . -name ccccc.txt -type f -exec sed -i 's/aaaaa/bbbbb/g' {} \;
$ cat ccccc.txt 
bbbbb

 

728x90