강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

find에서 사용하는 PATH, OPTION, ACTION, OPERATOR 지정방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

find에서 사용하는 PATH, OPTION, ACTION, OPERATOR 지정방법

 

필자의 경험으로 보아서, find명령어에서 가장 어려워하는 부분이 경로 지정하는 방법과 옵션 지정하는 방법, 그리고 검색 후에 수행될 ACTION부분 지정하는 방법, 그리고 마지막으로 연산자 지정하는 방법들입니다. 

 

 

 

이런 취지로 필자는 이번 절에서 이 4가지를 find에서 어떻게 지정하는가를 정리해서 설명 드리고자 합니다. 

 

 

 

 

 

사용형식 :   find [대상경로]  [OPTIONS]  [ACTIONS]

 

find명령어는 위의 사용형식을 그대로 사용합니다. 

 

 

 

 

 

여기에서 대상경로란 PATH를 의미하는 것으로서 검색대상위치를 의미합니다. 

 

 

 

 

그리고 OPTION이란 검색옵션을 의미하는 것으로 아래 설명을 참조하십시오.

또한 ACTION은 검색 후에 검색된 파일들을 대상으로 어떤 작업을 수행할 것인가를 지정한 것입니다. 

 

 

 

다음 설명들을 보시기 바랍니다. 

 

 

 

 

 

 

 

 

 

 

[대상경로(PATH)]

파일을 검색할 때에 어디에서 검색할 것인가를 지정하는 검색대상경로입니다. 

 

 

 

 

 

경로지정방법

검색대상범위

지정 예

·

현재 디렉토리 이하

.

/

시스템전체

/

~ID

계정사용자(ID)의 홈디렉토리이하

~bible

/경로

/경로 디렉토리이하

/etc

/usr/local

 

예를 들어 /etc가 지정되었다면 /etc이하의 모든 파일과 디렉토리들을 검색대상으로 합니다.

 

 

[검색옵션(OPTIONS)]

어떤 방법으로 검색할 것인가를 지정하는 옵션부분입니다. 

 

 

 

 

 

검색옵션

 

-empty

비어있는 파일 (, 일반파일 또는 일반 디렉토리에 한함)

-uid n

지정된 n값의 UID를 갖는 파일

-gid n

지정된 n값의 GID를 갖는 파일

-group 그룹명

지정한 그룹명에 소속된 파일

-name

지정된 형식의 패턴을 가지는 파일

-newer 파일

지정한 파일보다 더 최근에 변경된 적이 있는 파일

-used n

파일이 변경된 이후 최근 n일 이후에 액세스된 적이 있는 파일

-user uname

지정한 uname의 소유로 된 모든 파일.(UID로 지정가능)

-amin n

최근 n분 이전에 액세스(access)된 적이 있는 파일

-anewer 파일

지정한 파일보다 더 최근에 액세스(access)된 적이 있는 파일

-atime n

최근 n*24시간 전에 액세스된 적이 있는 파일

-mmin n

최근 n분 이전에 변경된 적이 있는 파일

-mtime n

최근 n*24시간 이전에 변경된 적이 있는 파일

-executable

실행 가능한 파일

-readable

읽기 가능한 파일

-writable

쓰기 가능한 파일

-fstype type

지정한 파일시스템타입(type)에 존재하는 파일

-nogroup

소속그룹이 존재하지 않는 파일

-nouser

소속 사용자(ID)가 존재하지 않는 파일

-path 패턴

파일명이 패턴에 매칭되는 파일

-perm 모드

모드에서 지정된 퍼미션과 일치하는 퍼미션을 가진 파일만 해당됨. 주의할 것은 정확하게 일치해야 한다는 점. 예를 들어 “-perm g=w”로 지정했을 경우에는 퍼미션이 0020인 것만 해당됨.

-perm -mode

모드에서 지정된 퍼미션을 가진 모든 파일. 예를 들어 “-perm -g=w”로 지정되었다면 그룹소유자에 w퍼미션(쓰기권한)이 있는 모든 파일이 이에 해당됨.

-regex 패턴

패턴에서 지정한 정규표현식에 매칭되는 파일

-size n[cwbkMG]

지정된 n 단위의 디스크공간을 사용하는 파일. 여기에는 b(디폴트), c, w, k, M, G등이 올 수 있음.

-type 타입

지정한 파일타입에 해당하는 파일. b, c, d, p, f, l, s등이 있음.

 

* 참고(매우중요) : 위의 n값은 +n n보다 큰 값을 의미하고, -n n값보다 작은 값을 의미하며, n은 정확하게 n값만을 의미합니다.

 

 

[검색 후 수행작업(ACTION)]

find 명령어에 파일을 검색한 후에 수행할 명령문을 다음과 같이 지정할 수 있습니다. 

 

 

 

 

 

ACTION

수행내용

-delete

검색된 파일들을 삭제

-exec command ;

지정한 command를 실행

-exec command {} +

검색된 파일들을 차례대로 매칭하면서 지정된 command를 수행

-ls

“ls –dils”를 수행

-ok command ;

-exec와 같지만 실행하기 전에 먼저 사용자에게 표준입력으로 수행할 command를 입력 받는다. 

 

 

 

만약 입력이 없다면 지정된 command를 수행한다.

-print

검색된 파일들에 대하여 전체파일 경로로 파일리스트를 표준출력으로 출력한다.

-printf format

검색된 파일들에 대하여 지정된 format형식으로 표준출력으로 출력

 

 

[ 연산자 (OPERATORS)]

 

find명령어 내에서 사용 가능한 연산자들은 다음과 같습니다. 

 

 

 

보다 다양하고 복잡한 find명령문을 만들어 찾고자 하는 파일이나 디렉토리를 보다 정확하게 검색하는데 사용합니다. 

 

 

 

우리가 이미 중고등학교 때에 배웠던 연산자의 의미와 같기 때문에 이해하기는 쉬울 것입니다. 

 

 

 

 

 

연 산 자

  

(    )

괄호()안의 연산이 먼저 행해짐.

! expr

expr 이 거짓일 때 참. 참일 때 거짓이 됨.

-not expr

위의 “! expr”과 동일함.(POSIX 호환용)

expr1 expr2

AND의 의미. expr1이 거짓일 때에는 expr2는 평가되지 않음

expr1 -a expr2

“expr1 expr2”와 같음

expr1 -and expr2

“expr1 expr2”와 같음. (POSIX 호환용)

expr1 -o expr2

OR의 의미. expr1이 참일 경우 expr2는 평가되지 않음.

expr1 -or expr2

“expr1 -o expr2”와 같은 의미. (but, POSIX 호환용은 아님)

 

여러분들이 생각했던 것 보다 find의 사용법과 용도는 매우 다양합니다. 

 

 

 

시스템관리에 있어서 반드시, 필수적으로, 꼭 정확하게 알아두셔야 하는 것이 find의 실사용법입니다. 

 

 

 

다른 파트에서도 마찬가지이지만 필자는 이번 장에서 필자가 할 수 있는 가장 쉬운 방법으로 실무적인 find사용법을 설명하였습니다. 

 

 

 

이번 장의 학습을 계기로 여러분들의 시스템관리에 큰 보탬이 되었으면 합니다. 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,039 명
  • 현재 강좌수 :  35,848 개
  • 현재 접속자 :  97 명