find 03

OS/리눅스 & 유닉스 2011. 11. 24. 11:03

find [찾을 디렉토리경로]  [찾기옵션]  [찾은후행할 작업]

[옵션]
-empty              : 비어있는 파일을 찾는다.
-uid UID            : 지정된 UID를 갖는 파일을 찾는다. 
-gid GID            : 지정된 GID를 갖는 파일을 찾는다. 
-group 그룹명    : 지정된 group을 가진 파일을 찾는다. 
-name              : 지정된 형식의 패턴을 가지는 파일을 찾는다.
-newer             : 지정된 파일 이후에 생성된 파일을 찾는다.
-perm              : 지정된 퍼미션을 가진 파일을 찾는다. 
-used 일자수    : 최근 n일 이후에 변경된 파일을 찾는다.
-user               : 지정된 파일을 소유하고 있는 소유자의 모든 파일을 찾는다.
-size               : 지정된 크기를 갖는 파일찾는다

[작업]
-print                       : 찾은 파일리스트를 보여준다.
-exec “수행명령어”   : 검색된 파일을 대상으로 “수행명령어”(쉘명령어)를 실행한다.

 

------------------------------------------------------------------------------------


find / -uid 119 -print      

- 특정uid 로찾기

 

find / -user cdral -print    

-  특정 아이디로 찾기

 

find /home/cdral -name *.txt -print   

- 특정디렉토리에서 특정파일찾기

 

find /home/cdral -name *.txt -exec rm -f {} \;  

- 특정디렉토리에서 특정파일찾아서 지우기
-exec rm -f {} 의미가 찾은파일을 {} 하나씩 대입하여 삭제한다는뜻 ( {} \; 공백주의)

 

find / -user cdral -exec ls -al {} \;  

- 특정유저로된 파일찾기

 

find /var -size +102400k -exec ls -al {} \;  

- 특정용량 이상되는 파일찾기

 

find /home/cdral -perm 777 -exec ls -l {} \;  

 - 특정퍼미션 파일찾기

 

find / -used 3 -exec ls -l {} \;   

- 지정된 일자 3일전부터 현재까지 변경된적이 있는파일 찾기

 

find /home/cdral -type d -exec ls -ll {} \;  

- 특정디렉토리안에 모든 디렉토리 찾기

 

find /usr/bin -type l -exec ls -al {} \;   

- 특정디렉토리안에 모든 링크파일 찾기 보안점검시체크

 

find / -user root -perm 4000 -print  

- root 소유의 setuid파일 찾기 보안점검시체크

 

find /dev/ -type f -exec ls -l {} \;  

- /dev 디렉토리내 일반파일(-type f)찾기 보안점검시체크

 

find / -name .rhost -exec ls -l {} \;  

- .rhost 파일 찾기  보안점검시체크

 

find / -nouser -o -nogroup -print 

- 소유자와 소유그룹이 없는 파일찾기 -o 는 OR의 역할

 

find /home -type f -exec grep -i "문자" /dev/null {} \;  

- 특정문자를 포함한 파일찾기


find ./ -name "*.txt" -print -exec grep -n "test" {} \;

- 확장자가 txt인 파일들을 찾은다음 test라는 text를 포함하는 문자의 행 까지 출력

 

 find /home -size +20000c -print

- /home에서 파일의 크기가 20,000바이트 이상인 것만 찾아라

 

 find /home -size 10000c -print

- /home에서 파일의 크기가 10000바이트 인것만 찾아라

 

find /usr/lib -name "m*.c" -print

- /usr/lib에서 m*.c 인 것을 모두 찾아라

 

find /home -name core -print exec rm {} \;

-/home 밑에 core 파일을 찾아 이를 삭제 하시오.

 

find / -perm 04000 -user root exec ls -l {} \;

-owner가 root이고 SETUID를 가지는 파일을 모두 찾아라

 

find / -ctime -3 -print

- 최근 3일 이내에 쓰여진 파일을 찾아라

 

 find / -ctime -3 -size +10000c -exec ls -l {} \;

- 최근 3일 이내에 쓰여지고, 10,000바이트 이상인 파일이나, 디렉토리를 찾아라.

 

find . -name "*.gz" -exec gunzip {} \;

- unzip을 사용해서 여러개의 zip 을 동시에 풀기

 

'OS > 리눅스 & 유닉스' 카테고리의 다른 글

make 관련 한글 메뉴얼 사이트  (0) 2011.11.24
dbx 명령  (0) 2011.11.24
find 02  (0) 2011.11.24
find 01  (0) 2011.11.24
grep 옵션  (0) 2011.11.24
: