2014년 11월 27일 목요일

리눅스 find 명령어

find 명령에 대해서 알아보기

  1. find를 쓰는 이유
    - 다양한 옵션을 이용해서 원하는 파일을 자세하게 찾을 수 있습니다.
  2. 사용 방법
    #find [찾고자 하는 디렉토리] [옵션]
  3. 옵션
    -name [파일이름]   :  파일이름과 일치 파일명 또는 확장자를 기준으로 검색
    -perm [권한]  :  권한과 일치하는 파일
    -user [유저]  :  유저 검색(해당 파일을 사용하는 유저)
    -group [그룹] :  그룹과 일치하는 파일
    -empty : 비어있는 파일이나 디렉토리를 검색
    -size [+파일크기/-파일크기/파일크기][bckw중 택1] : 파일크기와 일치하는 파일
      b : 블록단위 512kb
      c : byte
      k : kbyte
      w : 2byte 워드
    아무런 단위를 붙이지 않은 경우 : 디폴트 값 b
    -type [파일타입] : 파일의 타입을 지정하여 검색한다.
      b : 블록 특수 파일(block device)
      c : 캐릭터 특수 파일 (character deice)
      d : 디렉토리(directory)
      f : 일반파일(file)
      l : 심볼릭 링크(link)
      p : 파이프 (pipe)
      s : 소켓 (socket)
    -print : 찾은 파일들을 표준출력(stdout)으로 출력(기본값)
    -nouser : 소유자가 없는 파일을 검색(/etc/passwd 파일에 없는 사용자의 소유자로 되어 있는 파일을 검색)
    -nogroup : /etc/groups파일에 없는 그룹의 소유인 파일을 검색
    -fprint [임의파일명] : 검색된 파일을 `임의파일명'으로 출력(`임의파일명'이 존재 하지 않을 경우에는 새로 생성되고, 존재할 경우에는 기존의 파일은 없어짐)
    -exec command {} \; : 파일이 검색되었을 경우, 검색된 파일들에 대해 특정 명령을 수행 할 때 사용
     {} : 검색된 파일들을 의미, 여러개의 파일이 검색되면 하나씩 치환되면서 해당명령이 실행
      ; : 검색된 결과가 여러개인 경우 하나의 행에 여러 명령을 사용하기 위함이다.
      \ : ;이 특수 문자이기 때문에 문자로 ;라는 것을 알려 주기 위함이다.
    -newer file1 file2: `file1' 보다 이후에 `file2' 보다는 이전에 생성되거나 변형된 파일들을 찾을 경우에 사용
    -cnewer 파일명 : '파일명' 부분에 적어준 파일보다 더 최근에 수정된 파일들을 검색
    -atime +n/-n/n : 최근 n일 이전에 액세스된 파일을 검색(accessed time)
       +n : n일 또는 n일 이전에 액세스된 파일
       -n : 오늘 부터 n일 전 사이에 액세스 된 파일
        n : 정확히 n일 전에 액세스된 파일
    -ctime +n/-n/n : ctime은 파일의 퍼미션을 마지막으로 변경시킨 날짜를 의미한다. (changed time)
       +n : n일 또는 n일 이전에 퍼미션이 변경된 파일
       -n : 오늘 부터 n일 전 사이에 퍼미션이 변경된 파일
        n :  정확히 n일 전에 퍼미션이 변경된 파일
    -mtime +n/-n/n : mtime은 파일내의 data를 마지막으로 변경한 날짜를 의미한다.(modified time)
        +n : n일 또는 n일 이전에 수정된 파일
        -n : 오늘 부터 n일 전 사이에 수정된 파일
          n : 정확히 n일 전에 수정된 파일
    -maxdepth n : 0이 아닌 정수값으로 경로 깊이를 지정하여 검색을 할 경우에 사용
    예) '-maxdepth 1'은 시작위치로 지정한 디렉토리만 검색하고 하위 디렉토리는 찾지 않음
    -mindepth n : 0이 아닌 정수값으로 지정된 숫자만큼의 깊이에서부터 그 하위 디렉토리를 검색 (GNU find 버전)
    -follow : 심볼릭 링크된 디렉토리도 검색을 할 경우에 사용
    -regex : 정규표현식(regular expression)을 이용하여 파일들을 찾을 경우에 사용

댓글 없음:

댓글 쓰기