2013년 11월 30일 토요일

[Linux] find 옵션 정리 및 활용

-name 파일의 이름을 지정해서 파일찾기
-size NUMBER 파일의 크기를 이용해서 검색, 파일의 크기는 블록단위로 표시
-prune 하위 디렉토리 파일은 검색하지 않음
-user USERNAME  지정한 사용자의 파일 찾기
-perm PERMISSION  지정한 권한을 가진 파일 찾기
-group GROUPNAME  지정한 그룹에 속한 파일 찾기
-inum NUMBER 지정한 수와 i-node 수가 일치하는 파일 찾기
-link NUMBER 지정한 수의 링크를 가진 파일 찾기

1. 기본 사용법
find [PATH] [Expression]
find 명령은 경로(Path)의 지정과 다양한 옵션을 지정한 표현식(Expression)을 사용해 파일을 찾아내어 작업을 한다.

2. 사용예
#find / -name "*.o" -print
  / 디렉토리에서 시작해 하위 디렉토리로 파일이름에 대한 검색을 화면으로 출력하는 명령으로 .o로 끝나는 모든 파일을 찾는 방법이다. 찾을 경로지정에서 .은 현재 디렉토리, ..은 상위 디렉토리에서 하위 디렉토리까지 찾는다.

#find / -name '[aA][a-z]*[Ee]' -print
루트 디렉토리에서 하위 디렉토리까지 소문자 a 혹은 대문자 A로 시작하고, 두 번째 단어가 소문자 알파벳이며, 마지막에 대문자 E혹은 소문자 e로 끝나는 파일을 찾는다.

#find / -type d -print
현재 디렉토리에서 하위의 서브디렉토리까지 모두 화면으로 출력한다.

#find /usr/local -type l -print
/usr/local 디렉토리에서 서브 디렉토리까지 링크돼 있는 파일을 찾아 보여준다.

#find /etc -atime -1 -print
/etc 디렉토리와 서브디렉토리에서 하루전까지 액세스한 파일을 찾아 보여준다.

#find / -group police -user ctrc
루트 디렉토리 이하의 전체 디렉토리에서 그룹이 police 이고 소유주가 ctrc인 파일을 찾는다.

#find / -nouser -print
루트 디렉토리 이하의 하위 디렉토리에서 사용하지 않는 소유주 이름을 가지고 있는 파일을 찾아낸다.

#find ~ -perm 755 -print
자신의 홈디렉토리에서 파일퍼미션이 755로 설정되어 있는 파일을 찾는다.

#find /usr/local -size +1024k -exec ls -l { } \;
/usr/local의 하위 디렉토리에서 크기가 1024킬로바이트를 넘는 파일을 찾아서 ls -l 명령을 적용해 자세하게 나타낸다.

#find ~ -atime -3 \( -name '*.o' -o -name '*.c' \) -print
홈 디렉토리에서 현재부터 3일전에 액세스한 .o 또는 .c로 끝나는 파일을 모두 보여준다.

#find ~ -name "*.c" -exe ls -l { } \; 
홈 디렉토리에서부터 .c로 끝나는 파일의 목록을 자세하게 화면으로 출력한다.

댓글 없음:

댓글 쓰기