find 대 grep: 미니 치트 시트
7308 단어 cliproductivitylinuxbash
grep
및 find
는 리소스를 빠르게 찾을 수 있는 강력한 명령입니다. 구문은 편리하며 원하는 대로 옵션을 결합하여 결과를 필터링할 수 있습니다.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
동일한 목표를 달성하기 위해
find
와 grep
를 결합하는 것도 가능합니다.find / -type d -name secret 2>&1 | grep -v "Permission denied"
마무리
grep
및 find
를 사용하여 시간과 에너지를 절약하십시오.\0/
Reference
이 문제에 관하여(find 대 grep: 미니 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jmau111/find-vs-grep-a-mini-cheat-sheet-1g65텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)