find 명령어는 Unix 시스템에서 사용할 수 있는 쉘명령어 입니다.
Unix/LInux 또는 맥킨토시에서 사용할 수 있습니다. bash shell(/bin/bash)
$ bash --help
GNU bash, version 4.4.23(1)-release-(x86_64-pc-msys)
Usage: bash [GNU long option] [option] ...
bash [GNU long option] [option] script-file ...
find명령어 실제 사용 방법을 알아보자.
$ find . : 현재 폴더와 하위 폴더 모든 정보를 출력한다. 콤마를 한 칸 띄고 적는다.
$ find . -name "*.pdf" : 명령어 입력하는 폴더를 기준으로 하위 폴더 포함하여 검색한다. pdf 확장자 파일을 찾는다.
$ find . -name "*.pdf" > pdfOut.txt : 검색 결과를 문서파일로 저장한다. 문서파일에 그대로 검색 결과를 저장한다.
$ find . | grep text.txt : 파이프'|'는 키보드 엔터키 위에 있다. 결과를 넘겨준다.
$ find . -name "*.txt" | xargs grep "Hello" | less : 문서에서 "Hello"를 찾는다. 한 화면씩 보여준다.
$ find . -name "*.txt" -exec rm {} \; : 검색한 결과 파일을 지운다. 조심해야하지요.
$ find . -maxdepth 2 -name '*.txt' : 폴더 깊이를 2단계로 제한하여 검색한다.
find 명령어 정말 다양하게 사용가능합니다.
$ find . -name '*good*' : 파일 이름에 위치 상관없이 good 표기한 파일 검색
$ find . -name "test*" -type d : 디렉토리를 찾으려면 -type d 를 이용한다.
$ sudo find / -size +10M -exec ls -lh {} \; : 용량을 지정해줄 수 있다. sudo로 권한문제해결.
$ find / -name "test*" 2>/dev/null : 권한 오류를 회피할 수 있다.
$ find . -empty : 빈파일을 찾는다.
$ find . -name "* *" -exec rm -f {} \; : 공백이 있는 파일들 지웁니다. "* *" 공백을 의미하죠.
find(1) — Linux manual page