[옵션]

-atime n

파일이 n일 전에 마지막으로 접근되었으면 참 

-ctime n

파일이 n일 전에 생성되었을 경우 참 

-exec commmand 

command 실행 

-mtime n 

파일이 n일 전에 마지막으로 변경되었을 경우 참 

-name pattern 

파일명이 pattern에  대응될 경우 참

-print 

검색된 파일의 이름들을 출력 

-type [c] 

파일의 타입이 [c] 

[c] d: 디렉토리, f: 파일, l: 링크

-user name 

소유자가 name일 경우 참 


출처: 초보자를 위한 UNIX


[사용 예]

AND 조건

find . -name "찾는파일명*" | xargs grep '찾는 문자열1'  |  grep '찾는 문자열2'

 

OR 조건

find . -name "찾는파일명*" | xargs grep '찾는 문자열1'  OR  grep '찾는 문자열2'

find . | xargs egrep 'aaa|ddd'  (AIX)

find . | xargs grep 'aaa\|ddd' (Linux)


출처:http://blog.naver.com/dodo7777?Redirect=Log&logNo=90040225445


find 의 -perm 옵션은 보통 3가지 mode 를 사용합니다.

-perm mode

-perm -mode

-perm /mode


 mode 는 정확하게 mode 가 매치되는 것만

-mode 는 mode 를 포함하고, 추가적인 퍼미션이 있는 것만

/mode 는 mode 에서 한개 bit라도 매치되는 것이 있으면


아래의 예들을 실행해 보시면 이해에 도움이 되실 겁니다.

하나의 임시 디렉토리 속에 아래 명령으로 모든 가능한 퍼미션을 만들고 테스트 해보세요.

for i in $(seq 0 7); do for j in $(seq 0 7); do for k in $(seq 0 7); do  touch ${i}${j}${k}; chmod ${i}${j}${k} ${i}${j}${k}; done; done; done


아래는 서로 결과가 같고, 퍼미션이 0700인 것만 찾습니다.

find . -perm u rwx

find . -perm u=rwx

find . -perm 0700

find . -perm 700


아래는 서로 결과가 같고, 퍼미션이 0020인 것만 찾습니다.

find . -perm g w

find . -perm g=w

find . -perm 0020

find . -perm 020

find . -perm 20

 

아래는 서로 결과가 같고, 퍼미션이 0500 보다 더 많이 허용된 것을 찾습니다.

find . -perm -u rx

find . -perm -u=rx

find . -perm -0500

find . -perm -500


아래는 서로 결과가 같고, 퍼미션 0771 의 각 권한(rwxrwxrwx) 중 한 개 이상의 권한이 같은 것을 찾습니다.

find . -perm /u rwx,g rwx,o x

find . -perm /u=rwx,g=rwx,o=x

find . -perm /u=rwx,g=rwx,o x

find . -perm /0771

find . -perm /771


아래와 같이 !을 붙일 때 찾을 수 있는 퍼미션의 예상은

find . ! -perm /u rwx,g rwx,o x -ls

-------rw-

--------w-

----------

-------r--

입니다.


참조하세요 ^^


추가질문에 대한 답변

 -perm -2 -o -perm -20 

-o 는 or 의 의미입니다.

-perm -2 또는 -perm -20 입니다.

other 가 writable 이상이거나 또는 group 이 writable 이상인 것을 의미합니다.

즉, other 또는 group 에 실행권한이 있는 파일을 의미합니다.

같은 의미지만 반대로 이야기 하면, 실행권한이 user 에게만 있거나 아예 없는 파일을 제외한 파일을 의미합니다.

 

만약,

find ../ ! -user mylin \( -perm 2 -o -perm -20 \) -exec {} \; 이라면

상위 디렉토리의 하위로 소유자가 user가 아니고 other나 group 에 실행권한이 있는 파일을 찾아서 실행한다

는 의미가 됩니다.

해당 글은 지식스폰서가 활동 기간 (04년~08년 6월 종료)중에 작성한 글 입니다.

지식스폰서가 작성한 답변은 본문 내 자기소개 및 출처란의 실명, 상호명, URL표시를 허용합니다.

출처란에 표시된 정보가 지식iN 운영원칙에 위배되는 음란성, 불법성, 청소년 유해사이트 등으로 변질된 경우는 허용이 되지 않습니다.

*.sh 파일에서 choosecombo 문자열 찾기

find -name '*.sh' -print | xargs grep 'choosecombo' $1

다양한 파일 찾기 옵션

-name

-user

-group


-perm

퍼미션으로 찾기

ex) find -perm 777 

맨뒤에 -ls


 -size n  or -size -nc 

파일 크기로 찾기

ex) find -size -100

ex) find -size  1000c

 

같은 옵션 중복 사용가능


ex)find -size  50 -size -100


2>/dev/null/

권한없는 것들 출력안하기


[출처] 리눅스 파일 찾기 옵션2(유용한 옵션 편)|작성자 polpoipol

'<프로그래밍> > ___Unix/Linux' 카테고리의 다른 글

Head, Tail  (0) 2013.05.02
user 추가  (0) 2013.04.05
ctags cscope 설정  (0) 2013.03.28
vim에서 redo undo  (0) 2013.03.21
삼바 클라이언트  (0) 2013.03.11
Posted by JinnyDown
,