find 대 grep: 미니 치트 시트

grepfind는 리소스를 빠르게 찾을 수 있는 강력한 명령입니다. 구문은 편리하며 원하는 대로 옵션을 결합하여 결과를 필터링할 수 있습니다.

grep



GREP는 "global regular expression print"를 의미하며 문자 및 패턴을 검색하고 큰 데이터 덩어리에서 정보를 필터링하는 데 유용합니다.

7 기본 명령



1. 검색어(대소문자 구분 안함)


grep -i "mimiKAtZ" security.log

2. 행 번호 표시


grep -n "mimikatz" security.log

3. 디렉토리에서 검색


grep -r "mimikatz" ./

4. 정확한 일치


grep -w "h4ck3r" security.log

5. 카운트 결과


grep -c "h4ck3r" security.log

6. 파일 이름만 가져오기


grep -l "h4ck3r" ./mydir

7. 패턴 반전


grep -v "RTFM" README.md

공통 옵션



전체 목록이 아니라는 점에 유의하세요.


목적
옵션


패턴과 일치하는 라인 수-c
줄은 있지만 파일 이름은 아님-h
대소문자를 구분하지 않음-i
파일 이름만-l
여러 표현식 전달-e expression -e expression2
파일의 패턴, 한 줄에 하나씩-f file
줄 번호-n
패턴과 일치하지 않는 라인-v
정확히 일치-w
정규식 통과-E

7 고급 사용법



1. 여러 파일에서 grep


grep "h4ck3r" 1.log 2.log 3.log .4log

2. 파일 확장자 제외


grep -rl --exclude=*.{sh,txt} ./

3. 디렉토리 제외


grep -r --exclude-dir={root,log,proc,sys} "test" ./

4. 특정 파일 확장자 포함


grep -nr "eth0" --include="*.conf" /etc/

5. 영숫자 문자로 시작하는 대상 행만


grep "^[[:alnum:]]" README.md

6. 정확한 일치를 위한 또 다른 방법( -w )


grep "\bsudo\b" /etc/

7. php 파일을 빠르게 나열합니다(일반적인 사용법).


ls | grep ".php"

7 멋진 트릭



1. 동시에 여러 검색


grep -E "^(sudo|root|system)" /etc/

2. grep이 너무 오래 걸립니까? 시간이야!


time grep "e" ./

3. 검색 범위를 좁히기 위한 pipe grep


grep "[nN]urse" romeo-and-juliet.txt | grep -v "\[_.*Nurse.*_]"
출처: https://www.shell-tips.com/linux/grep/#how-to-grep

4. 식(lov)의 모든 파생어 검색


grep -i "\blov.\+\b" romeo-and-juliet.txt
출처: https://www.shell-tips.com/linux/grep/#how-to-grep

5. grep 출력을 다른 프로그램으로 파이프


grep -rA 2 "bin/.*sh" ~/scripts | less
출처: https://www.shell-tips.com/linux/grep/#how-to-grep

6. 큰 .gz 파일을 열지 않고 grep


zgrep -ic "h4ck3r" logs.gz

7. grep 검색 범위 단축


grep {1..7} error.log

검색어에 대한 간단한 따옴표 또는 큰 따옴표?



달성하려는 목표에 따라 다르지만 매우 일반적으로 사용되는 쉘 변수를 사용해야 하는 경우에는 큰따옴표를 사용하십시오.

색상으로 검색어를 강조 표시하는 방법은 무엇입니까?



일반적으로 시스템 자체에서 처리하지만 그렇지 않은 경우 .bashrc에서 다음 별칭을 사용할 수 있습니다.

alias grep='grep --color=auto'


해커를 위한 명령어



확인하러 가기hacktricks

찾기


find는 파일 또는 디렉토리 목록을 검색하고 여기에 기능을 적용하는 데 사용할 수 있는 명령줄 유틸리티입니다.

7가지 기본 명령



1. 파일 찾기


find ./ myfile.json

2. 이름으로 파일 찾기


find ./mydir -name myfile

3. 대소문자를 구분하지 않는 검색


find ./mydir -iname mYfILE

4. dir 내에서 디렉토리 찾기


find ./mydir -type d

5. 파일 이름으로 여러 디렉토리에서 찾기


find ./mydir /mydir2/subdir -type f -name myfile

6. 제외 이름 "README"


find ./mydir -not README

7. JSON 파일 찾기 및 삭제


find ./mydir –name "*.json" –delete

일반적인 유형




목적
유형

d예배 규칙서
f파일


크기 단위




상징
단위

G기가바이트
M메가바이트
k킬로바이트.
c바이트(기본값)


7 고급 사용법



NB: 내가 -/+라고 쓸 때, 더 작은 경우 - 또는 더 큰 경우 +를 의미합니다. 사용하지 마십시오/.

1. 사이즈로 찾기


find ./mydir -size 1M

2. 보다 작거나 큰 크기로 찾기


find ./mydir -size -/+1M

3. 허락을 받아 찾기


find ./mydir -perm 777

4. X 마지막 수정일로 찾기


find ./mydir -mtime X
X는 정수입니다.

5. 사용자 X의 물건 찾기


find ./mydir -user ulysse31

6. 빈 폴더 찾기


find ./mydir -type d -empty

7. 깊이를 2단계로 제한


find -maxdepth 2 ./mydir -type f -name lola

7가지 멋진 트릭



1. 현재 사용자 homedir에서 빠르게 검색


find ~ -type f -name "todo"

2. 지난 3시간 동안 액세스한 파일 찾기


find ./mydir -amin -180

3. "[0-9]" 패턴과 일치하는 모든 파일 찾기


find ./mydir -type f -name "*[0-9]"

4. 읽기 전용 파일 찾기


find ./dir -perm /u=r

5. 각 검색 결과에 ls -lah 적용


find ./mydir -type f -name "*.json" -exec ls -lah {} \;
또는

find . -type f -name *.json" | xargs ls -lah

6. 모든 디렉토리에 대한 권한 설정


find ./mydir -type d -exec chmod 0755 {} \;
또는

find ./mydir -type d -print0 | xargs -0 chmod 0755

7. 모든 파일에 대한 권한 설정


find ./mydir -type d -exec chmod 0644 {} \;` or `find ./mydir -type f -print0 | xargs -0 chmod 0644

find , grep 및 보다 복잡한 명령 정보



예를 들어 grep 명령의 각 결과에 find를 적용하는 등 수십 가지 콤보를 시도해 볼 수 있습니다. 완전히 가능하지만 대부분의 경우 속도만 필요하기 때문에 간단하게 유지하는 것을 좋아합니다.

더 복잡해야 하는 경우 |(파이프)와 콤보를 시도하거나 -exec 옵션을 사용할 수 있습니다.

find . -type f -iname "*.json" -exec grep -L "Wanna be startin' somethin'" {} \;


성가신 "권한 거부"를 제거하십시오.



이 치트 시트에서 나는 종종 ./mydir를 건초더미로 사용하지만 더 많은 전역 검색이 필요한 경우 시스템 바이너리와 보호된 리소스가 있기 때문에 "권한 거부"와 같은 메시지를 받게 될 것입니다. 사용자 계정.

쓸모 없는 줄을 제거하려면 명령줄 끝에서 출력을 /dev/null로 보낼 수 있습니다.

COMMAND 2> /dev/null


동일한 목표를 달성하기 위해 findgrep를 결합하는 것도 가능합니다.

find / -type d -name secret 2>&1 | grep -v "Permission denied"


마무리


grepfind를 사용하여 시간과 에너지를 절약하십시오.

\0/

좋은 웹페이지 즐겨찾기