티스토리 뷰

반응형

리눅스(Linux)에서는 find 명령어로 원하는 조건의 파일, 디렉토리를 검색할 수 있습니다. find는 옵션이나 사용법이 매우 다양한 명령이기 때문에 한번에 다 정리하기는 힘들고, 생각이 날 때마다 정리해서 글을 업데이트하도록 하겠습니다.


리눅스 find 명령어 사용법


find

find 명령만 입력하면 현재 디렉토리(.)에 있는 파일을 찾는다. (하위 디렉토리, 숨겨진 파일도 표시)


find /etc

특정 디렉토리(여기서는 /etc)에 있는 파일을 검색한다.


리눅스 find 명령어 사용법

find /etc -name "ssh*"

찾을 파일이름을 지정할 수 있다.




리눅스 find 명령어 옵션 정리 및 활용법


find . -name "test*"

-name 옵션으로 찾을 파일 이름을 지정한다.


find . -name "test*" -type d

디렉토리만 찾을려면 -type d 옵션을 사용한다.


리눅스 find 명령어 size 옵션 사용법

sudo find / -size +10M -exec ls -lh {} \;

-size 옵션으로 파일 사이즈를 지정할 수 있다.

(디렉토리 권한 때문에 앞에 sudo를 사용했다.)

(-exec에 대한 내용은 아래를 참조)


find . -empty 

빈 파일을 찾기위해 -empty 옵션을 사용한다.


find /etc -maxdepth 2 -name 'x*'

-maxdepth 옵션으로 서브 디렉토리 검색 깊이를 지정한다.


find . -newer game.py

-newer 옵션 뒤에 적힌 파일보다 최근에 변경된 파일을 검색한다.


리눅스 find 명령어 exec 옵션 사용법

find . -empty -exec ls -l {} \;

find . -empty -exec rm {} \;

-exec 옵션 뒤에 명령어를 입력하여 검색한 파일로 부가적인 작업을 수행할 수 있다.

(검색된 파일이 {} 위치에 입력되어 처리된다.)


리눅스 find 명령어 오류 메시지 처리

find / -name "test*" 2>/dev/null

'Permission denied'와 같은 오류무시하기 위해 리다이렉션을 사용할 수 있다.

(sudo 명령을 사용할 수 없는 경우에 효과적이다.)



반응형
댓글