티스토리 뷰
find 는 특정 디렉토리에서 부터 내가 원하는 조건의 파일을 찾아주는 명령어 입니다.
특정 디렉토리에서 부터 라는 말은 해당 디렉토리의 하위 디렉토리를 포함해서 찾아준다는 것입니다.
예를 들어 아래와 같이 /home/test 폴더가 있고 그 안에 test00, test01, test02 폴더가 하위폴더로 존재하는 구조에서
"/home/test 에서 부터 이름에 "txt"가 들어가는 파일을 찾아주세요" 라는 식의 명령을 수행하면
하위 폴더도 포함해서 검색을 합니다.
아래와 같이 하위 폴더 및 파일이 존재할 때 find 를 사용해서 파일을 검색해봅시다.
1. find
2. find [경로] -name "[이름패턴]"
2. find [경로] -size [사이즈]
3. find [경로] -readable
4. find [경로] -excutable
5. find [경로] [옵션] -exec [커맨드] {} \;
find . / -executable 의 결과로 test00 test01 test02 .mozilla ./.mozilla/plugins ./.mozilla/extensions 이 실행가능한 파일로 분류된 것을 확인했었는데요
이 파일들에 대해서 실제 파일타입을 확인해보려면 이런식으로 모든 파일마다 file 명령어를 직접 실행해줘야 합니다.
file test00
file test01
file test02
file .mozlia
file ./.mozilla/plugins
file ./.mozilla/extensions
하지만 기존의 find 명령어에 -exec 옵션을 추가하면 find 된 결과에 대해서 명령어 연계 처리를 할 수 있습니다.
-exec [커맨드] {} \; 가 일반적인 사용법입니다.
커맨드 위치에는 file 말고도 ls -al 이라던지 본인이 활용가능한 커맨드를 작성하면 됩니다.
find ./ -executable -exec file {} \; 로 작성된 문장의 동작 원리를 살펴보면
find ./ -executable 결과로 test00 이 한개 나왔다면 바로 이어서 file test00 \; 이 실행됩니다.
find ./ -executable 결과로 다음에 test01 이 나왔다면 바로 이어서 file test01 \; 이 실행됩니다.
즉 {} 이 find ./ -executable 의 결과물을 받아오는 역할을 하고,
\; 는 문장의 종료를 의미하는 구문입니다.
{} 역할을 정확히 알아야 다른 커맨드들을 응용해서 활용할 수 있습니다.
그리고 중요한 점은 find 는 파일에 대해서 검색해준다고 했는데
실제 실행가능한 파일로 디렉토리가 검색된 것을 확인할 수 있습니다.
리눅스에서는 디렉토리도 파일로 분류됩니다.
파일인데 디렉토리 속성이 있는 파일.
cd [디렉토리명] 으로 접근 및 이동이 가능하므로 실행가능하다고 분류되는 구나 로 이해하시면 되겠습니다.
[추가] find --help
find --help 나 man find 를 입력하면 find 명령어 사용법에 대한 도움이 제공됩니다.
find 는 기본적인 사용법 외에도 다양한 옵션이 제공되고 응용이 가능합니다.
본문에서 알려주는 아주 기초적인 명령어 외에도 다양한 사용법을 익히길 바랍니다.
그렇다고 미리 모든 옵션을 알고 있을 필요는 없습니다.
다만 필요할 때는 사용법 찾아보고 잘 적용하면 됩니다.
리눅스 도움말 페이지가 어렵다면 구글 검색을 활용하세요
find 사용법에 대해 잘 정리되어 있는 자료가 많이 있습니다.
'수업 노트 > 리눅스 기본 명령어' 카테고리의 다른 글
grep 명령어(1) (0) | 2021.08.22 |
---|---|
find 명령어 사용법(2) (0) | 2021.08.22 |
cat 사용법 (0) | 2021.08.16 |
file 사용법 (0) | 2021.08.16 |
리눅스의 숨김파일 (0) | 2021.08.16 |
- Total
- Today
- Yesterday
- ssh
- over the wire
- Encode
- HTTPS
- solution
- 리터럴
- X32
- gz
- bz2
- BASE64
- 리눅스
- 풀이
- tr
- 32bit
- SSL
- Strings
- 웹보안
- Linux
- find
- Natas
- java
- grep
- nc
- natas7
- OpenSSL
- Bandit
- 웹보안공부
- tar
- OverTheWire
- 압축파일
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |