사용자 도구

사이트 도구


linux:find

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linux:find [2013/06/03 12:02]
kwon37xi
linux:find [2020/09/17 12:06] (현재)
kwon37xi
줄 1: 줄 1:
 ====== find ====== ====== find ======
   * [[http://linux.die.net/man/1/find|find]]   * [[http://linux.die.net/man/1/find|find]]
 +  * [[linux:fd|fd]] 가 훨씬 빠르고 좋음.
   * [[http://www.hanb.co.kr/network/view.html?bi_id=336|[한빛 네트워크] 유닉스에서 find 기능 이용하기]]   * [[http://www.hanb.co.kr/network/view.html?bi_id=336|[한빛 네트워크] 유닉스에서 find 기능 이용하기]]
   * [[linux:xargs|xargs]]와 함께 사용하면 편리하다.   * [[linux:xargs|xargs]]와 함께 사용하면 편리하다.
 +  * [[http://soooprmx.com/wp/archives/5222|find 명령 사용법]]
 +  * [[http://javarevisited.blogspot.kr/2011/03/10-find-command-in-unix-examples-basic.html|10 find command in unix examples basic]]
  
 ===== 정규표현식 regex ===== ===== 정규표현식 regex =====
줄 11: 줄 14:
  
 ===== 특정 시점 이후/이전 수정된 파일 ===== ===== 특정 시점 이후/이전 수정된 파일 =====
-  * -mtime, -atime, -ctime 등을 사용하면 접근/생성/변경 등의 날짜를 기준으로 파일을 찾을 수 있다.<code sh>+  * ''-mtime, -atime, -ctime'' 등을 사용하면 접근/생성/변경 등의 날짜를 기준으로 파일을 찾을 수 있다.<code sh>
 # 30일 보다 이전에 수정된 파일들 # 30일 보다 이전에 수정된 파일들
 find . -mtime +30 find . -mtime +30
줄 17: 줄 20:
 # 딱 30일 전에 수정된 파일 # 딱 30일 전에 수정된 파일
 find . -mtime 30 find . -mtime 30
 +
 +# 시간 비교시 해당 일의 시작 시간(00:00) 부터
 +find . -mtime 30 -daystart
  
 # 30일 전 이후(오늘 부터 30일 전까지 사이)에 수정된 파일 # 30일 전 이후(오늘 부터 30일 전까지 사이)에 수정된 파일
 fine . -mtime -30 fine . -mtime -30
 </code> </code>
 +
 +===== depth =====
 +  * ''-maxdepth 1'' : 최대 디렉토리 한 단계만
 +  * ''-mindepth 1'' : 명령행 지정된 경로(한 단계)를 제외하고 찾기
 +
 +===== type =====
 +  * ''-type d'' : 디렉토리
 +  * ''-type f'' : 일반 파일
 +  * ''-type l'' : 심볼릭 링크
 +  * ''-type s'' : socket
  
 ===== 파일 이름만 가져오기 ===== ===== 파일 이름만 가져오기 =====
줄 29: 줄 45:
 find /dir1 -type f -printf "%f\n" find /dir1 -type f -printf "%f\n"
 </code> </code>
 +
 +===== -ignore_readdir_race/-noignore_readdir_race =====
 +  * ''find'' 명령이 파일 이름을 읽는 순간과 해당 파일의 상태 정보를 읽는 순간의 그 사이에 파일이 삭제될 경우 오류 메시지가 출력 된다. 보통은 ''No such file or directory''
 +  * ''-ignore_readdir_race'' 옵션을 주면 파일이 사라진 상황에 대한 에러 메시지를 안내고 그냥 무시한다.
 +
 +===== 동일 이름 파일 목록 얻기 =====
 +<code sh>
 +find . -type f -printf "%f\n" | sort | uniq -c | grep -v ' 1 '
 +</code>
 +
 +===== 하위 디렉토리에 존재하는 파일 갯수 =====
 +<code sh>
 +find */ | cut -d/ -f1 | uniq -c
 +</code>
 +
 +===== 특정 날짜의 모든 로그 파일들 중에서 grep =====
 +로그 파일이 한 날짜에 굉장히 많을 때(예: Jenkins build log) 특정 날짜의 로그 파일만 찾아서 거기서 특정 문자열 검색
 +  * [[http://stackoverflow.com/questions/158044/how-to-use-find-to-search-for-files-created-on-a-specific-date|bash - How to use 'find' to search for files created on a specific date?]]
 +  * [[http://virtuelvis.com/2008/10/how-to-use-find-to-search-for-files-created-on-a-specific-date/|» How to use ‘find’ to search for files created on a specific date Arve Bersvendsen]]
 +<code sh>
 +# 날짜 기준이 생성일이라고  할 때, 첫 날짜는 검색하고자 하는 날짜, 두번째는 검색하고자 하는 다음날 날짜
 +find . -name *.log -newerct yyyy-MM-dd ! -newerct yyyy-MM-dd -exec grep -Hni '검색어' {} \;
 +</code>
 +
linux/find.1370228573.txt.gz · 마지막으로 수정됨: 2013/06/03 12:02 저자 kwon37xi