개요
Linux의 'find' 명령어는 파일 시스템에서 파일과 디렉터리를 검색하는 데 사용되는 강력한 명령어다.
이 명령어는 다양한 조건을 조합하여 매우 정교한 검색을 수행할 수 있다.
이번 포스팅에서는 find 명령어의 기본 사용법에서 고급 옵션까지 예제를 활용하여 정리해 보자.
기본 사용법
1. 특정 디렉토리내에서 파일 찾기
# /path/to/directory: 검색을 시작할 디렉터리
# -name "filename": 이름이 "filename"인 파일을 찾기
find /path/to/directory -name "filename"
2. 확장자를 기준으로 파일 찾기
# .txt 확장자를 가진 모든 파일을 찾는다
find /path/to/directory -name "*.txt"
고급 사용법
1. 파일의 크기를 기준으로 찾기
# -size +500k: 크기가 500KB보다 큰 파일을 찾는다.
find /path/to/directory -size +500k
2. 파일의 수정 시간을 기준으로 찾기
# 7일 이내에 수정된 파일을 찾는다
find /path/to/directory -mtime -7
3. 특정 유형의 파일 찾기
# -type f: 일반 파일을 찾는다. 디렉터리를 찾으려면 -type d를 사용.
find /path/to/directory -type f
4. 여러 조건을 조합하여 찾기
# -name "*.txt" -and -size +500k: 확장자가 .txt이고 크기가 500KB보다 큰 파일을 찾는다.
find /path/to/directory -name "*.txt" -and -size +500k
5. 찾은 파일에 대해 명령 실행
# 찾은 파일을 삭제.
find /path/to/directory -name "*.log" -exec rm {} \;
예제
1. 홈 디렉토리에서 이름이 report가 포함된 파일 찾기
find ~ -name "*report*"
2. 루트 디렉토리에서 크기가 1GB보다 큰 파일 찾기
find / -size +1G
3. /var/log 디렉토리에서 30일 이상 수정되지 않은 로그 파일 삭제
find /var/log -name "*.log" -mtime +30 -exec rm {} \;
4. 현제 디렉토리에서 빈 파일 찾기
find . -type f -empty
5. 특정 사용자 소유의 파일 찾기
find /home -user username
정리
다양한 옵션과 조건을 합쳐서 효과적으로 검색과 필요 작업을 자동화할 수 있다.
찾는 용도로는 좋지만 무엇인가를 삭제하고 수정할 경우 잘못된 값을 select 하는 경우가 없도록 신중하게 사용하자.
반응형
'Dev > Linux' 카테고리의 다른 글
[Linux] SELinux로 인한 SSH 접속 문제 해결(Failed password/Access denied) (0) | 2024.07.25 |
---|---|
[Linux] WARNING: UNPROTECTED PRIVATE KEY FILE! (0) | 2024.07.25 |
[Linux] SFTP 연결 안 됨 (FileZilla에서 SSH 연결 문제 해결하기) (0) | 2024.07.08 |
[Linux] 보안 취약점 개선을 위해 OpenSSH 업데이트하기 (CentOS) (0) | 2024.07.05 |
OpenSSH 서비스 파일 생성 및 등록 (Unit sshd.service could not be found) (0) | 2024.07.04 |