본문 바로가기
기타

[Linux] 리눅스 find 활용하기 / 리눅스 유용한 명령어 1️⃣

by 서상혁 2021. 1. 31.

CLI 환경에서는 쓰는 명령어는 계속 쓰고, 안쓰는 명령어는 거의 쓸일이 없죠!

 

그 중에 find, grep 과 같이 탐색에 관련된 명령어는 정말 계속 쓰게되는데요, 오늘은 find 명령어에 대해 공부해 보았습니다! 😀

 


find

현재 폴더를 기준으로 하위 폴더에 존재하는 파일을 찾아줍니다. 물론 find / ~~ 를 하게 되면, 전체 폴더에 대해서도 찾을 수 있습니다.

$ man find

를 통해, find 명령어의 매뉴얼을 볼 수 있는데, 자그마치 줄이 약 1300 줄이네요... 거의 단편소설 한편정도의 분량 ㅠ
다 읽는거는 비효율적이고, 자주 쓰는 주 명령어만 공부해봅시다.

$ find --help


를 통해서도, 자주 쓰는 명령어를 확인할 수 있습니다!

가장 기본적인 명령어

$ find <디렉토리> -name <찾을내용>

옵션

-delete : 검색 기록 삭제
-maxdepth : 탐색의 최대 깊이
-mindepth : 탐색의 최소 깊이
-type : 찾는 파일의 타입을 지정 가능
        f : 일반 파일
        d : 디렉토리
        s : 소켓
-size : 특정 사이즈 파일 탐색 가능
-exec : 검색 결과에 특정 명령어 수행 가능
-print0 : 검색 결과를 줄바꿈 없이 출력
-perm : 권한을 이용해서 검색

참고로 특정 파일을 찾을 때에는, * 나 ? 와 같은 정규 표현식 이용이 가능합니다!

 


예제

테스트용 더미 파일들을 만들어 봤습니다.

 

특정 이름을 포함한 파일 찾기 => 정규표현식을 이용

$ find <경로> -name "*<특정이름>*"

 

 

디렉토리만 찾기

$ find <경로> -name "*<특정이름>*" -type d

 

검색 결과를 줄바꿈 없이 출력

$ find <경로> -name "*<특정이름>*" -print0

 

특정 사이즈의 파일 찾기

$ find <경로> -size +<최소 바이트>c -size -<최대 바이트>c

100 ~ 5000 사이인 파일들만 출력된다.

 

검색된 파일들에 대해서 특정 명령어 수행하기

$ find <경로> -name "*<특정이름>*" -exec <명령어> \;

마지막에 \ 를 꼭 붙여서, 명령어가 끝났다는 것을 명시해주셔야됩니다!

 

특정 파일 찾은 후 출력하기. (bat 은 cat 과 같은 역할을 합니다!)

{} 는 find 로 찾은 결과물을 뜻합니다!

 

특정 파일 찾은 후 지우기

2가지 방법이 있습니다.

-exec 활용

-delete 옵션 활용

728x90

댓글