리눅스 find 명령어

Posted by Hide­
2007.03.09 01:40 Security/Web

일반적으로 사용하다 보면 파일을 찾는 경우가 많습니다..

윈도우에서는

검색이라는것을 이용해서 찾는데..

리눅스나 유닉스 운영체제는 find 명령을 사용합니다.

파일에 대한 내용이 단순한 윈도우에 비해 많은 내용이 있는 리눅스 파일구조에서

find 명령어를 확실히 알면 좀더 편하게 사용하실수 있을겁니다.

우선적으로 검색하는 부분이 윈도우처럼 파일명,크기,날짜가 전부인 반면

리눅스는 소유주(유저,그룹,그외), 액세스 날짜, 찾고 난뒤에 실행방법은 여러가지 기능이 있습니다.

우선적으로 하나씩 배워 보도록 하겠습니다.

find [옵션] [파일명]

find / -name "연습.txt"

모든 디렉토리(/)를 검색하고 그중에서 파일 이름(-name)이 연습.txt 파일을 찾는다.

라는 명령 입니다.

-rwsr-xr-x    1 test1     test           367  2월 24  2002 okok

-rw-r-xr-x    1 test1     test              1  5월  7  2002 abcd
-rw-r--r--    1 test1     test         4145  2월 24  2002 asdf
-rw-r--r--    1 test1     test            47  4월  4  2000 ppwp.txt
drwxr-xr-x    2 test1     test        4096 12월  7 16:11 public_html

일반적은 리눅스 파일 구조 입니다.

find / -user test1 -group test

유저가 test1이고 그룹이 test 인것을 찾아라는 명령입니다.

이렇게 입력을 하면 okok, abcd, asdf, ppwp.txt, public_html 이 파일들이 출력됩니다.

find / -user test1 -group test -perm -4000

유저가 test1이고 그룹이 test 이고 Set-Uid(이 내용은 게시판 참조)를 찾는것 입니다.

이렇게 입력을 하면 okok 이 파일들이 출력됩니다.


만약 자신이 권한이 없다는 "find: /proc/1208/fd: 허가 거부됨"이라는 메세지가 많이 띕니다.


이것 때문에 파일 찾기가 힘들어 집니다..


이럴경우 허가 거부됨을 없앨수 있습니다.

find / -user test1 -group test -perm -4000 2> /dev/null

뒤부분에 "2> /dev/null" 입력을 해주면 허가 거부됨은 없엘수 있습니다.

이 의미는 퍼미션이 허락되지 않아서 출력되는 에러 메세지(2)를 쓰레기통(/dev/null)으로 보내라.



find 명령어 옵션

-name filename filename과 일치하는 파일을 찾음(*,? 또는 and가 사용될 수 있으며 이들은 따옴표 안에 표시를 하거나 백슬래시를 앞에 주고 사용함)

-print 현재의 경로 이름을 표시

-perm 모드 파일 권한(permission)이 일치되는 것을 찾는다. 원하는 권한은 ls로 볼수 있는 형태와 같이 지정한다.

-type ? 형태가 같은 파일을 찾는다. 물음표(?) 부분에 디렉토리는 d, 파이프는 p, 심볼릭 링크는 l, 소켓은 s, 블록 파일은 b, 일반 파일은 f 등의 기호를 사용한다.

-links ? 특정 개수의 링크를 가진 파일을 찾는다. 물음표 부분에 링크의 숫자를 표기한다.

-size ? 파일의 크기가 일치하는 것을 탐색. 파일 크기는 블록단위로 물음표 부분에 지정한다. 한 블록은 512바이트로 내정되어 있지만 블록 숫자 뒤에 단위로 k자를 붙이면 1킬로바이트 크기의 블록 숫자로 간주 된다.

-uesr 사용자 파일 사용자의 ID에 따라서 검색. 로그인 이름이나 번호 모두가 가능하다.

-atime ? 최근 며칠내에 액세스한 파일을 검색. 날짜수는 ?에 명시한다.

-exec 명령 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행한다. 명령의 끝은 \;을 사용하여 끝낸다. find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면 그 위치에 {}를 사용한다.

-newer 파일 어떤 파일보다 최근에 갱신된 모든 파일을 검색한다.



다른 사람들이 많이 읽은 글

'Security > Web' 카테고리의 다른 글

Cookie SQL Injection  (0) 2007.03.09
Shell 프로그래밍  (0) 2007.03.09
리눅스 find 명령어  (0) 2007.03.09
일반적인 리눅스 명령어 모음  (0) 2007.03.09
권한설정 chmod (change mode)  (0) 2007.03.09
퍼미션  (0) 2007.03.09
이 댓글을 비밀 댓글로

티스토리 툴바