유닉스 명령어 find ,유닉스 공부

find 명령어
┌────────────────────────┐
│ find 대상 _ 디렉토리 표현식                              

│ ( 검색_조건 처리_형식 )                                    │
└────────────────────────┘

-> find 명령어는 명령어상에 지정한 검색조건과 일치하는 화일들을 지정한 디렉토리내에서 검색한 후, 지정된 처리_형식을 수행한다.
만일 검색후 처리 형식을 지정하지 않을 경우에는 명령어 출력을 표시하지 않는다. find 명령어를 기술함에 있어서, 표현식에
복수개의 검색_조건과 복수개의 대상_디렉토리를 지정할 수 있다.

┌────────────────────────────┐
│$find /home/user1 /home/user2 -name '*.rpt' -print   |
└────────────────────────────┘

find 명령어상에서 특수문자들을 사용할 경우에는 쉘로부터 번역되는 것을 막고, find 명령어로 하여금 특수 문자들을 처리하도록 하기위해 반드시 보호문자로(',",\) 묶어주어야만 한다.

┌──────────────────┐  특수문자를 사용하기 위해,

│ $find . -name '*.sh' -print             │  보호문자를 사용하여

└──────────────────┘  묶어주는 것을 보여준다.

find 명령어는 검색_조건을 기준으로하여 대상_디렉토리내의 화일들을 검사하고, 지정한 처리_형식에 따라서 출력을 생성한다.
예를들면, find /home -user david -print라고 지정하면, /home 디렉토리 내에서 소유자가(즉, owner) david인 화일들을 검색하여 검색된 화일들에 대한 절대 경로명을 화면상에 표시한다.
처리 형식을 지정하지 않을 경우에는 아무 작업도 수행하지 않음으로 반드시, 명확하게 지정해야만 한다.

복수개의 검색_조건을 지정할 수 있다.
공백으로 구별되어 나열된 복수개의 검색_조건은 논리곱(AND) 연산이 수행되어 지므로, 나열된 모든 조건을 만족하는 화일들이 검색된다.
예를들면, find /home -user david -type d -print 명령어는 소유자가 david인 디렉토리들을 찾아서 프린트 한다.

 

또하나의 예를들면,

┌───────────────────────┐
│ $find . -atime +30 -atime -60 -ok rm {} \;   │
└───────────────────────┘

30일 이전에서 60일 이전에 억세스된 화일을 찾아 rm(화일 삭제)시키라는 예이다. 이때 +30, -60의 형식을 주목하기 바란다.

복수개의 검색_조건이 -o를 사용하여 나열되면, 이는 논리합(OR) 연산을 수행하게 되어, 지정된 검색_조건중 어느 하나를 만족하는 화일들이 검색된다. 예를들면, find . \( -user david -o -user john \) -print라고 지정했을 경우에는, 소유자가 david이거나 john인 화일들을 찾아 화면상에 출력한다. 이 예에서 ( (그룹화 특수문자) 라는 특수문자가 \를 통해 보호되고 있는점을 주목하기 바란다.

지정한 검색_조건과 반대의(즉; 부정) 화일들을 검색하기 위해서는 !를 검색_조건에 지정하면 된다.

다음은 find 명령어에서 제공하는 검색, 조건과 처리 형식들이다.

[[ 검색조건 ]]
-atime n n 일 이전에 억세스되었던 화일들
-follow 심볼릭 링크된 화일들
-links n 링크(link) 수가 n개인 화일들
-mtime n n 일 이전에 변경된 화일들
-name pattern pattern이라는 화일명을 갖고있는 화일들
-perm nnn 접근 권한이 nnn인 화일들
-prune 지정한 대상_디렉토리내에서는 검색하지 않는다.
-size n n 블럭만큼의 크기를 갖는 화일을 검색한다.
-type char char로 지정한 화일 종류를 검색한다.
( f는 화일, d는 디렉토리 화일을 의미한다. )
-user logname 소유자가 logname인 화일들

[[ 처리형식 ]]
-print 화일의 절대 경로명을 화면상에 표시한다.
-exec cmd {} \;
검색된 화일들에 대해 {} 이전에 지정된 cmd를 수행한다.
검색된 화일들에 대해 지정한 명령어들을 일괄처리 하는
형식으로 작업을 수행한다.
-ok cmd {} \;
검색된 화일들에 대해 {} 이전에 지정된 cmd를 수행한다.
검색된 화일들 각자에 대해 명령어 수행 여부를 묻는
프롬프트를 표시하는 형식의 대화식으로 작업을 진행한다.



 추천 Unix 전문학원
※Tel . 02) 3672 - 0025 HomePage . http://itbank-love.com

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.

이 포스팅은 제휴마케팅이 적용되어 작성자에게 일정액의 커미션이 제공될수 있습니다.

이 글을 공유하기

댓글

Designed by JB FACTORY

"웨딩박람회 일정 스드메 견적 웨딩플랜닷컴 "

주부알바 재택부업 앙팡펫파트너스

서민안심전환대출 ㅣ정부지원대출ㅣ채무통합대환대출