Linux

리눅스에서 파일이름으로 파일 찾기

쿠카이든 2023. 1. 14. 15:21
728x90
Find 명령어
리눅스에서 파일을 찾기 위해서는 find 명령어를 사용합니다. find 명령어의 다양한 옵션으로 파일을 찾을 수도 있고, 다른 옵션등을 조합하여 내용을 검색할 수도 있습니다.

find [경로] [옵션] [대상]

 

[Linux] 파일찾기(find) 명령어 사용법
# find --help
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:

operators (decreasing precedence; -and is implicit where no others are given):
      ( EXPR )   ! EXPR   -not EXPR   EXPR1 -a EXPR2   EXPR1 -and EXPR2
      EXPR1 -o EXPR2   EXPR1 -or EXPR2   EXPR1 , EXPR2

positional options (always true): -daystart -follow -regextype

normal options (always true, specified before other expressions):
      -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
      --version -xautofs -xdev -ignore_readdir_race -noignore_readdir_race

tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
      -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
      -ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
      -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
      -nouser -nogroup -path PATTERN -perm [-/]MODE -regex PATTERN
      -readable -writable -executable
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]
      -context CONTEXT


actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print 
      -fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
      -exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
      -execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;

 

Find 주요 옵션 [1]

옵션 설명
name [파일명] 지정된 이름의 파일을 찾는다.
user [유저명] user 소유의 파일을 찾는다.
type [bcdfls] 지정된 형식의 파일을 찾는다.
b : 블록파일
c : 문자
d : 디렉터리
f : 파일
l : 링크파일
s : 소켓
size [+/-]숫자[bckw] 지정된 크기의 파일을 찾는다.
+n : n보다 크다
-n : n보다 작다
n : n이다
b : 512-byte
c : byte
k : kilobytes
w : 2-byte
mtime [+/-]숫자 -
+n : n일 전에 수정된 파일을 찾는다.
-n : n일 동안 수정된 파일을 찾는다.
atime [+/-]숫자 엑세스 시간을 기준으로 찾는다.
print  표준출력으로 검색된 파일명을 출력한다.
exec {} 찾은 파일에게 특정 명령어를 실행한다 (ex: 복사, 삭제 등)

 

Find 예제

find 명령어로 폴더를 지정 할 때 . 을 입력하면 현재 폴더 및 하위(서브) 폴더를 기반으로 탐색하며, /를 입력하면 전체 폴더를 지정한다.

 

파일명으로 찾기 (-name)

# 현재 및 서브 폴더를 검색하여 test가 들어간 파일을 찾는다
find . -type f -name "*test*"

# 모든 폴더를 검색하여 test가 들어간 파일을 찾는다
find / -type f -name "*test*"

 

생성시간으로 찾기 (-mtime)

# 최근 365일안에 변경된 파일을 찾는다
find / -mtime -365

 

문자열 찾기 (xargs grep)

# 현재 폴더 및 서브 폴더에 있는 log 파일 중, python이 들어간 문자열을 찾으시오
find . -type f -name '*.log' | xargs grep 'python'

 

찾은 파일 액션 (exec)

# tensor 문자열이 들어간, log 파일을 현재 및 하위 디렉토리에서 찾고 있을 경우 log폴더에 복사한다
sudo find . -type f -name '*.log' -exec cp {} /log \; | xargs grep 'tensor'

 

출처 :https://needneo.tistory.com/220#:~:text=%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B0%BE%EA%B8%B0,%EC%9D%84%20%EA%B2%80%EC%83%89%ED%95%A0%20%EC%88%98%EB%8F%84%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.

 

[Linux] 파일찾기(find) 명령어 사용법

Find 명령어 리눅스에서 파일을 찾기 위해서는 find 명령어를 사용합니다. find 명령어의 다양한 옵션으로 파일을 찾을 수도 있고, 다른 옵션등을 조합하여 내용을 검색할 수도 있습니다. find [경로]

needneo.tistory.com

 

728x90