find에서 사용하는 PATH, OPTION, ACTION, OPERATOR 지정방법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,467 조회
- 0 추천
- 목록
본문
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를 수행한다. |
|
검색된 파일들에 대하여 전체파일 경로로 파일리스트를 표준출력으로 출력한다. |
-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사용법을 설명하였습니다.
이번 장의 학습을 계기로 여러분들의 시스템관리에 큰 보탬이 되었으면 합니다.
관련자료
-
이전
-
다음