커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > Unix/Linux 처음 시작하기 > 명령어 사용하기 도움말
검색 : 사이트 WHOIS 웹서버 종류


  유용한 find 명령어 예 모음 작성일 : 2003/08/23 01:40
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 50073
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      제  목 : 유용한 find 명령어 예 모음
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 수시로 추가했음

    아래는 제가 자주 쓰는 find 명령인데, 유용할 듯 해서.
    지금까지 적어뒀던 것과 아주 보편적이라고 생각되는 것입니다.
    계속 추가됩니다. ^^

    -------------------------------------------------------
    1. 현재 디렉토리( . ) 이하에 확장자가 .html( -name "*.html" ) 인 파일만 ( -type -f )

    find . -name "*.html" -type f -ls

    2. 파일 크기

    # 파일 크기가 300KB 이상( -size +300k )인 파일만
    # (호스팅되는 홈피내에 큰 사이트의 파일이 있는지 찾을 때 유용)
    find . -size +300k -ls

    # 파일 크기가 500bytes 이하( -size -500c )인 파일만  
    find . -size -500c -ls

    3. 수정일

    # 수정한지 20일 이상( -mtime +20 )된 파일과 디렉토리
    find . -mtime +20 -ls

    # 수정한지 20일 이상된 파일만
    find . -mtime +20 -type f -ls

    # 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} \; )
    # (정기적으로 20일이 지난 파일을 삭제할 때 유용)
    find . -mtime +20 -type f -ls -exec rm {} \;

    # 수정한지 3일 이내( -mtime -3 )의 파일만 (백업할 때 유용)
    find . -mtime -3 -type f -ls

    # 수정한지 30분 이내( -mmin -30 )의 파일만
    find . -mmin -30 -type f -ls

    4. 퍼미션 및 파일 소유

    # 파일시스템 전체( / )에서 SUID/SGID가 설정된 모든 파일 목록을 얻음
    find / -type f \( -perm -04000 -o -perm -02000 \) -ls

    # 소유자가 없는 파일 목록을 얻음 (사용자는 이미 삭제했는데, 파일이 남은 경우)
    find / -nouser -o -nogroup

    5. 출력 형식 지정

    # 출력 형식을 printf로 만들어서 (출력 결과를 다른 프로그램에서 받아서 쓸 때 유용)
    # %h = 경로, %f = 파일명, %k = KB, %s = Bytes

    # 형식 : <경로/파일명> <파일크기KB>
    find . -printf "%h/%f \t %kKB \n"
    ... 생략 ...
    ./public_html/phps/icon/type/pcx.gif      4KB
    ./public_html/phps/icon/type/ra.gif       4KB
    ./public_html/phps/icon/type/sound.gif    4KB
    ./public_html/phps/icon/type/text.gif     4KB

    # 형식 : <경로/파일명> <파일크기Bytes>
    find . -printf "%h/%f \t %sKB \n"
    ... 생략 ...
    ./public_html/phps/icon/type/movie.gif    912Bytes
    ./public_html/phps/icon/type/mp3.gif      958Bytes
    ./public_html/phps/icon/type/pcx.gif      897Bytes
    ./public_html/phps/icon/type/ra.gif       903Bytes
    ./public_html/phps/icon/type/sound.gif    932Bytes

    6. 홈페이지 포팅할 때 퍼미션 안 맞는 경우 유용한 것

    # 확장자가 .htm* .gif, .js, .css 인 것만 퍼미션을 644(rw-r--r--)로
    find . -name "*.htm*" -o -name "*.gif" -o -name "*.js" -o -name "*.css" -exec chmod 644 {} \;

    # 파일은 퍼미션을 644로
    find . -type f -exec chmod 644 {} \;

    # 디렉토리는 퍼미션을 701로
    find . -type d -exec chmod 701 {} \;

    # 하위의 모든 퍼미션을 바꾸지 않고 depth를 지정하여 제한을 둘 때
    # 옵션 : -maxdepth 숫자  (1=현재디렉토리만, 2=현재디렉토리 포함하여 한단계 하위디렉토리까지만)
    find . -maxdepth 1 -type d -exec chmod 701 {} \;

    ※ -maxdepth는 -type나 -perm 등의 조건연산자가 아닌 옵션이다.
       따라서 조건연산자보다 먼저 사용해야한다. (다른 명령처럼 옵션을 먼저쓰는 것으로 이해하면 됨)
       find . -type -d -maxdepth 1 과 같이 사용하는 것은 옳지 않다.
      커피닉스 카페 최근 글
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
    [05/16] (주)후이즈 시스템엔지니어 (경력자) 모집
    [02/15] [AWS] Cloudfront edge 확인하기
    [01/20] Mobile Service/eCommerce 기업에서 Server / Java / PHP 개발자 구인
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Mobile 개발자를 모십니다.
    [01/11] 탄탄한 퍼블리싱 모바일기업에서 Web Front 개발자를 모십니다.
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~