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
'기타' 카테고리의 다른 글
[회고] 사이드 프로젝트 - Github Issue Tracker (크롬 확장프로그램) 회고 📝 (2) | 2022.11.10 |
---|---|
[Marp] 마크다운으로 ppt 만들기 📝 / 프리젠테이션 만들기 📊 (0) | 2022.03.08 |
[AWS] sudo : apt-get : command not found 에러 해결 🚫 (3) | 2020.11.09 |
[⭐후기⭐] 2020 여름 삼성 SDS 알고리즘 특강 후기 (11) | 2020.08.15 |
[cmd/bat] cmd 프로그래밍 / 배치파일(.bat) 프로그래밍 / 윈도우 / 📟 (0) | 2020.07.23 |
댓글