강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 파일검색 강좌 find 1편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

리눅스 파일검색 강좌 find 1

 

 

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

 

1  : 리눅스의 파일검색 유틸리티 find 실무 개론

2  : 특정 UID 소유의 모든 파일찾기

3  : 특정 사용자의 ID 소유로된 모든 파일 찾기

4  : 특정 사용자의 홈디렉토리 내에서 특정 파일 찾기

5  : 시스템내의  특정파일들을 검색하여 자동삭제하는 방법

6  : 지정한 소유자의 모든 파일을 찾아서 확인하기

7  : 서버내부의 불필요한 파일들 모두 정리(삭제)하기

8  : 특정용량 이상되는 파일들 모두 찾기(용량단위로 파일검색)

9  : 특정 퍼미션을 가지고 있는 파일들 모두 찾기

10  : 지정된 일자 이후에 변경된 모든 파일 찾기(서버 보안점검시 사용)

11  : 지정된 파일보다 이후에 생성된 파일 찾기(서버 보안점검시 사용)

12  : 특정디렉토리내에 존재하는 모든 디렉토리 목록만 확인하기

13  : 서버내에 존재하는 모든 링크파일 검사하기(서버 보안점검시 사용)

14  : root소유의 SetUID파일 찾기 (서버 보안점검시 사용)

15  : 서버내의 백도어파일 찾기(서버 보안점검시 사용)

16  : 서버내부의 .rhosts 파일 찾아서 확인하기(서버 보안점검시 사용)

17  : 서버내부에서 .bash_history 파일을 모두 찾아서 확인하기(서버보안점검시 사용)

18  : 소유자가 없는 파일 또는 소유그룹이 없는 무적파일 찾기(서버 보안점검시 사용)

19  : 쓰기 권한이 있는 파일 디렉토리 찾기(서버 보안점검시 사용)

20  : 특정문자를 포함하는 파일찾기와 문자가 속한 찾기

 

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?xml:namespace prefix = st2 ns = "urn:schemas:contacts" />박성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

 

 

 

 

 

 

 

 

1 : 리눅스의 파일검색 유틸리티 find 실무 개론

 

find명령어는 그  이름에서도 알 수 있듯이 서버내에 존재하는 특정파일들을 검색하는 명령어입니다. 윈도우에서는 “[시작]->[검색]”이라는 기능으로 특정파일들을 찾을 수 있듯이 리눅스에서는 find명령어를 이용하여 특정파일을 검색합니다.

 

하지만 이 명령어는 단순히 파일을 찾는 역할만을 하는 것이 아니라 찾은 파일에 대해서 특정 작업까지도 할 수 있습니다. 예를들어 찾은 파일들을 모두 삭제한다든지, 퍼미션을 변경한다든지, 소유자를 변경한다든지하는 작업들을 find명령어내에서 모두 한번에 할 수가 있는 매우 강력한 관리자명령어입니다.

 

파일을 찾을 때에도 매우 다양한 방법으로 찾을 수 있도록 많은 옵션과 방법들을 제공합니다. 특정 파일하나만을 찾을 수도 있으며, 특정 문자패턴에 맞는 파일들을 검색하거나 또는 특정 확장자를 가지는 파일검색등 다양한 방법으로 검색할 수 있습니다.  또한 파일이름으로 검색하는 것외에도 특정소유자의 파일, 소유자가 없는 파일찾기, 특정파일사이즈 이상되는 파일찾기, 지정된 퍼미션(permission)을 가진 파일을 찾는다든지하는 방법으로 매우 다양하고 파워풀한 검색방법을 사용할 수 있습니다.

 

이번 장에서 서버관리자가 사용해야하는 거의 모든 find의 사용예들을 충분히 설명하였습니다. , find명령어는 리눅스 서버관리자에게는 없어서는 안될 매우 강력한 서버관리도구입니다. 리눅스 서버를 직접관리하시는 서버관리자분들이라면 find의 단순한 파일찾기 단계를 넘어서 많은 작업을 한번에 처리할 수 있는 find의 파워풀한 활용까지도 반드시 익혀두시기 바랍니다.

 

이번 장에서 이에 대한 모든 실무적인 방법들을 모두 알려드리도록 하겠습니다.

 

명령어위치 : /usr/bin/find

 

사용형식

 

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

 

 

[찾을 디렉토리경로]

 ·  : 현재 디렉토리 이하를 대상으로한다.
 /   :
루트디렉토리(파일시스템전체)이하를 대상으로 한다.
 ~ID :
지정된ID의 홈디렉토리이하를 대상으로한다.

 

[찾기옵션]

-empty        : 비어있는 파일을 찾는다.
-uid UID      :
지정된 UID를 갖는 파일을 찾는다.
-gid GID      :
지정된 GID를 갖는 파일을 찾는다.
-group
그룹명 : 지정된 group을 가진 파일을 찾는다.
-name         :
지정된 형식의 패턴을 가지는 파일을 찾는다.

-newer        : 지정된 파일 이후에 생성된 파일을 찾는다.

-perm         : 지정된 퍼미션을 가진 파일을 찾는다.

-used 일자수 : 최근 n일 이후에 변경된 파일을 찾는다.

-user : 지정된 파일을 소유하고 있는 소유자의 모든 파일을 찾는다.

 

 

[찾은후 행할 작업]

-print : 찾은 파일리스트를 보여준다.

-exec 수행명령어: 검색된 파일을 대상으로 수행명령어”(쉘명령어)를 실행한다.

 

이제 이와 같은 find의 각종 무기들을 이용하여 서버관리에 필요한 find명령어의 실무예들을 모두 살펴보도록 하겠습니다.

 

 

 

2 : 특정 UID 소유의 모든 파일찾기

 

모든 계정사용자들은 시스템 내에서 유일한 UID를 가지고 있습니다. 특정 소유자의 파일을 찾고자 할 때에는 특정UID를가진 파일을 찾으면 됩니다. 물론 특정 ID를 가진 파일을 찾아도 같은 결과를 얻을 수 있습니다.
 <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />image001.gif 

위의 예는 UID 505(uid 505)인 모든(/) 파일을 찾아서(find) 보여달라는(-print) 것입니다.

 

 

 

3 : 특정 사용자의 ID 소유로된 모든 파일 찾기

 

다음은 특정 소유자의 모든 파일을 찾는 예입니다.  앞의 예와 같이 UID로 찾을 수도 있지만 특정 ID의 소유파일을 찾을 때에는 일반적인 방법으로 다음과 같이 사용합니다.

 

 

image002.gif

 

위의 예는 test01이라는 계정사용자(-user test01)의 모든(/) 파일을 찾아서 보여달라(-print)는 예입니다.

 

 

 

4 : 특정 사용자의 홈디렉토리 내에서 특정 파일 찾기

 

다음은 특정 사용자의 홈디렉토리내에 존재하는 특정파일을 찾는 예입니다.  서버관리자는 다양한 파일검색방법을 알고 있어야합니다. 이들 방법 가운데 특정계정사용자의 홈디렉토리내에 존재하는 특정 파일을 찾는 방법이 많이 사용됩니다.

 

아래의 예는 특정 계정사용자의 홈디렉토리(/home/locli)이하에 존재하는 모든 html파일(*.html)을 찾아서 보여달라(-print)는 예입니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,800 개
  • 현재 접속자 :  159 명