리눅스 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

  • [Linux] localectl 명령어

    CentOS 7 버전부터 많은 명령어들이 통합되어 제공됩니다. 로케일 및 키보드 관련 부문은 localectl 명령어에서 제공합니다. locale은 원래 지역이나 장소를 의미하지만, IT 환경에서는 언어 및 지역 설정을 지칭합니다. 리눅스에서는 문자 인코딩, 언어, 날짜/시간, 숫자 등의 지역화 설정을 locale 문자열로 정의합니다. 대부분의 유닉스 및 리눅스 배포판은 POSIX 기반이며, 이는 Red Hat 및 Debian 계열도 포함됩니다….

  • [Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드

    리눅스 터미널에서 ‘.txt’, ‘.conf’ 등의 ASCII 파일을 편집하기 위해 vi 편집기 명령어를 사용합니다. vi 편집기는 명령모드 입력모드와 저장 및 종료 후 치환하는 리눅스 vi 명령어는 익숙해지면 매우 빠른 작업이 가능하기 때문에 효율적인 업무를 진행할 수 있습니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여…

  • 리눅스 명령행 인자(Command-Line Argument)와 명령어 옵션

    ‘리눅스 명령행 인자(Command-Line Argument)‘는 ‘리눅스 명령어 인수‘, ‘명령 인자‘ 등으로도 불리며, 리눅스 커맨드 라인에서 명령어를 실행할 때 프로그램에 전달하는 매개변수를 뜻 합니다. 리눅스에서 “매개변수(Parameters)”는 일반적으로 프로그램이나 함수에 전달되는 값을 가리킵니다. 이 값은 해당 프로그램이나 함수가 실행될 때 필요한 입력 값으로 사용됩니다. 컴퓨터 프로그래밍에서 “매개변수(Parameters)”는 함수에 전달되는 값을 받아들이는 변수를 의미합니다. 이는 함수 정의에…

  • 리눅스 head 명령어 & tail 명령어

    리눅스 head 명령어는 파일의 처음 10줄을 보여주는 명령어이며, tail 명령어는 파일의 마지막 10줄을 보여주는 명령어입니다. 옵션 없이 사용할 경우 각각의 머리와 꼬리 부분을 보여주는 것을 알 수 있습니다. head와 tail 명령어는 보통 서버의 access_log를 볼 때 주로 많이 사용됩니다. 두 명령어의 사용법과 테스트 서버에서 access_log를 각각의 명령어를 통해 확인 해 보겠습니다. 목차✅ find…

  • 리눅스 who, w 명령어 & user 명령어

    리눅스 who 명령어는 현재 서버에 로그인한 사용자 리스트를 보여주는 명령어입니다. w 명령어는 현재 시스템에 로그인한 사용자와 사용자의 작업 내용을 보여주는 명령어로 각각의 차이가 있습니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs 활용 및 기타 활용✅ 리눅스…

  • [Linux] userdel 명령어: 사용자 계정 삭제 명령어

    리눅스에서 useradd로 계정 생성 후 삭제가 필요한 경우 userdel 명령어를 사용합니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs 활용 및 기타 활용✅ userdel 명령어 기본 사용은 아래와 같습니다. ✅ userdel 주로 사용하는 옵션 userlde만 입력해서 사용자를…

답글 남기기

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

Prove your humanity: 3   +   1   =