리눅스 find 명령어

리눅스 find 명령어는 여러가지 다양한 기준으로 파일을 효율적으로 검색할 때 사용할 수 있는 명령어입니다.

특정 파일을 찾거나 특정 문자 패턴에 맞춰서 검색, 특정 확장자의 파일 검색, 특정 소유자, 파일 사이즈, 퍼미션, 등의 다양한 방법을 사용할 수 있습니다.

find 명령어는 파일을 찾는 기본 역할 외에도 찾은 파일에 대한 퍼미션 변경, 소유자 변경, 파일 삭제 등의 추가 작업을 진행할 수 있습니다.

find 명령어

· 파일 및 디렉토리 검색 명령어
· 다양한 조건(이름, 경로, 확장자, 크기, 권한 등)으로 검색 가능
· 와일드카드와 정규표현식 사용 가능
· 특정 사용자 소유의 파일 검색 가능
· 특정 날짜 기준으로 생성/수정된 파일 검색 가능
· 파일 사이즈 기준 검색 가능 (예: 100M 이상)
· 퍼미션 기준 검색 가능 (예: 644, 777 등)
· 검색한 파일에 대해 다음 작업 수행 가능:
→ 삭제 (-delete)
→ 권한 변경 (-exec chmod)
→ 소유자 변경 (-exec chown)
→ 복사 또는 이동
· 자동화 스크립트에서 많이 활용됨

✅ find 명령어 정의

Linux의 find 명령은 계층 구조 내에서 포괄적인 파일 및 디렉터리 검색을 위해 설계 된 동적 유틸리티입니다. 사용자는 이름, 크기, 수정 시간 등을 기준으로 검색할 수 있습니다.

# 기본 사용 옵션 #
find [디렉터리] [-옵션] [표현식]
# 경로 시작 검색
find /path/
# txt. 파일을 경로에서 찾기
find /home/ -type f -name '*.txt'
# txt. 특정 디렉터리 명을 경로에서 찾기
find /home/ -type f -name 'docs'
리눅스 find 명령어(콘솔에서)

✅ 리눅스 find 명령어 옵션

아래 목록은 find 명령 옵션입니다.

✅ find 명령 예시

◻ 자주 사용하는 기본 명령어

# 현재 폴더(이하) 파일 퍼미션을 모두 644로 변경 
find . -type f -exec chmod 644 {} \;   
# 현재 폴더(이하 디렉터리 권한을 755로 변경 
find . -type d -exec chmod 755 {} \;
# 현재 폴더(이하 특정 단어(old)가 포함된 파일을 삭제 
find ./ -type f -name '*.old' -exec rm {} \;  
find ./ -type f -name '*.old' -delete
# 현재 폴더에만 있는 *.old 파일을 찾아서 삭제
find ./ -maxdepth 1 -type f -name '*.old' -exec rm {} \;
# 현재 폴더부터 바로 하위 폴더까지 *.old 파일을 찾아서 삭제\
find ./ -maxdepth 2 -type f -name '*.old' -exec rm {} \;
# 현재 폴더(이하) 디렉토리 갯수 확인 
find ./ -type d | wc -l  

◻ 폴더 지정하여 활용 -maxdepth

-maxdepth 1 옵션의 경우 현재 폴더 내에서만 데이터를 적용하기 때문에 /home/user/public_html/ 폴더에 접속한 상태에서 .txt 확장자 파일을 지운다고 할 경우 아래와 같이 옵션을 사용해서 이하 폴더의 .txt 확장자 파일을 남기고 작업을 할 수 있습니다.

[root@rocky-linux public_html]# pwd
/home/rocky/public_html
find ./ -maxdepth 1 -type f -name '*.txt' -exec rm {} \;

◻ find의 -size 옵션 활용

파일 사이즈에 대한 -size 옵션 활용 방법입니다.

# 5M보다 크고 30M보다 작은 파일 찾기 
find ./ -size +5M -size -30M 
# 512M보다 크고 1024G 보다 작은 파일 찾기 
find ./ -size +512M -size -1024G 
  • c : 바이트
  • k : 키로바이트
  • M : 메가바이트
  • G : 기가바이트
리눅스 기초(The Linux Foundation)

xargs 활용 및 기타 활용

# 현재 디렉토리에서 가장 큰 파일 찾기 
find . -type f | xargs du -s | sort -n | tail -1
# 현재 디렉토리 위치에서 하위디렉토리를 포함하여 string 이란 문자열을 포함한 파일 검색
find . -type f | xargs grep string
# 현재 디렉토리 밑에서 첫글자가 영어 대문자인 모든 파일을 찾을 경우 
find . -name "[A-Z]*'' -print 

grep, du 등의 명령어를 파이프(pipe) 다중 명령어를 사용할 땐 xargs를 같이 사용해 줍니다. xargs의 경우는 find 명령어를 사용하면서 /path 경로에 파일들이 너무 많으면 “Argument list too long”이란 메시지가 나오면서 실행되지 않기 때문에 다른 명령어와 같이 사용할 때 오류 메시지가 나올 때 활용할 수 있습니다.

리눅스 커맨드 라인 인터페이스(Linux command line Interface)

Similar Posts

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

  • 리눅스 chage 명령어

    리눅스 chage 명령어는 change age의 줄임 말로 사용자 계정의 만료 및 비밀번호 만료 설정을 관리 할 때 사용합니다. 주요 기능과 목적은 비밀번호 만료일 설정, 비밀번호 최소 사용 기간 설정, 계정의 비활성화 날짜 설정 등이 있습니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용…

  • 리눅스 file 명령어

    리눅스 file 명령어는 그 파일이 어떤 파일인지 확인하는데 사용되는 명령으로 파일의 파일 타입을 확인할 때 사용합니다. 확인할 수 있는 파일은 텍스트 파일(ASCII 텍스트), 바이너리 파일, 그림 파일 및 동영상 등입니다. 단순하게 파일의 확장자만 확인하는 것이 아닌 파일의 매직파일(usr/local/magic)의 내용을 참조하여 파일 종류를 표시해 줍니다. magic 파일은 특정 파일의 형식을 식별하기 위한 정보를 담고…

  • 리눅스 killall 명령어: 설치, 사용 방법과 옵션

    리눅스 killall 명령어는 특정 프로세스를 한번에 종료 시키는 명령어입니다. kill과 killall은 단순 종료가 아닌 프로세스에 지정한 시그널(Signal)을 보내는 명령어로 시그널에서 액션이 종료일 때 프로세스가 종료됩니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs 활용 및 기타 활용✅…

  • 리눅스 uptime 명령어(서버 가동 시간&1,5,15 평균 로드 확인)

    리눅스 uptime 명령어는 시스템의 평균 부하율과 서버의 가동 시간을 확인하는 명령어입니다. 서버의 부팅 시간을 알고 싶을 때, 최근 15분 동안의 평균 로드를 통해 부하율을 알고 싶을 때 사용하는 명령어임을 알 수 있습니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size…

  • 리눅스: useradd 명령어 & passwd 명령어

    useradd 명령어는 리눅스에서 사용자의 ID(계정)를 생성하는 명령어입니다. root 권한으로 생성이 가능하며 기본적인 명령은 아래와 같습니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs 활용 및 기타 활용리눅스 useradd 명령어 옵션 리눅스 useradd 사용 예 기본으로 사용할 수…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 0   +   1   =