리눅스 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] 리눅스 mv 명령어 사용법 및 mv 명령어 옵션

    리눅스 mv 명령어는 Move의 약자로 파일 또는 디렉토리를 이동하거나 이름을 변경할 때 사용하는 명령어입니다. 기본적인 리눅스 mv 명령어 사용법과 옵션 및 활용 방법에 대해 알아 보겠습니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs 활용 및 기타…

  • 리눅스 netstat 명령어, ifconfig 명령어

    리눅스에 netstat 명령어 및 ifconfig 명령어를 실행하기 위해 리눅스 서버에 명령어 실행을 위한 net-tools이 설치되어 있어야 합니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs 활용 및 기타 활용✅ net-tools 설치 ✅ netstat 명령어 netstat[network statistics:네트워크 통계]은…

  • [Linux] localectl 명령어

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

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

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

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

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

  • Rsync 명령어: 옵션 | 사용 예시

    Rsync 명령어는 Remote sync의 줄임말로 원격에서 로컬, 로컬에서 로컬로의 파일 및 디렉토리를 복사하는 프로그램입니다. rsync에는 두 가지 접속 방법이 있는데 SSH를 통해 접속하는 방법과 rsync 데몬을 통해 접속하는 방법입니다. 목차✅ find 명령어 정의✅ 리눅스 find 명령어 옵션✅ find 명령 예시◻ 자주 사용하는 기본 명령어◻ 폴더 지정하여 활용 -maxdepth◻ find의 -size 옵션 활용◻ xargs…

답글 남기기

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

Prove your humanity: 7   +   4   =