grep
파일 내 특정 패턴을 검색하여 해당 패턴을 포함하는 모든 라인을 출력하는 기능.
1. 형식
[grep] [OTPIONS] [PATTERN] [FILENAME]
2. 옵션
grep -l : 해당 패턴이 있는 파일 이름을 출력한다.
grep -r : 하위폴더 포함하여 해당 패턴이 있는 파일 안에있는 내용들을 출력한다. ([파일이름]:[파일내패턴내용])
grep -n : 출력할때 패턴이 있는 해당 줄번호와 함깨 출력해준다.
grep -v : 패턴이 있는 내용을 제외한 나머지 모든 내용의 줄을 출력한다. ( keyword 제외 )
grep -i : 패턴을 찾을때 대소문자를 구분하지 않고 모두 출력한다.
grep -w : 키워드를 한단어로 인식해서 찾아줌 ( grep root 의 경우 rootroot.txt 는 제외 root.txt 는 찾음 )
grep -A : 찾은것의 위의 n줄
grep -B : 찾은것의 아래 n줄
fgrep(=grep -F) : ' ' 으로 묶인 패턴을 그 의미 그대로로 인식해줌
ex) ^root : 문자열처음의 root 가 아닌 ^root 그대로 인식
egrep(=grep -E) : 여러 단어가 있을경우를 모두 찾아줌. (확장의 개념)
ex) egrep -i '(warn|err|fail|crit|alert|emerg)'
[참조] 정규화된 패턴 사용법
* : 앞의 문제가 0회 이상 ex) # grep 'ro*t' /etc/passwd
. : 1개의 문자를 매치 ex) # grep 'no...y' /etc/passwd
^ : 문자열 라인의 처음 ex) root # grep '^root' /etc/passwd
$ : 문자열 라인의 마지막 ex) root$ # grep 'bash$' /etc/passwd
[] : 대괄호에 포함된 문자 중 한개와 매치 ex) # grep 'user0[123]' /etc/passwd
[참조] 주요 활용처
cat /etc/passwd | grep root
rpm -qa | grep httpd
ps -ef | grep rsyslogd
systemctl list-unit-files | grep ssh
netstat -antup | grep :22
find
디렉토리 안에서 원하는 파일을 찾고자 할 때 사용하는 명령어이다.
1. 형식
[find] / [검색시작위치] [OPTION] [인자값1] [OPTION] [인자값2] ...
2. 옵션
find -type : 파일의 타입으로 검색
* f = 일반파일 / d= 디렉토리 / c = 문자 / ㅣ= 링크 / s = 소켓 / b = 블록파일
find -name : 파일의 이름으로 검색 ( * 활용 하여 다양하게 검색가능 )
find -user/group : 유저이름이나 그룹으로 검색
find -mtime : 수정 또는 생성 시간 기준으로 검색 [-7(최근6일간)|7(지정날자)|+7(8일기준으로 그이전)]
find -perm : 퍼미션으로 검색 ( 755 / -755(최소한 755 퍼미션을 소유한) )
find -size : 파일 크기로 검색 [-300(0~300)M|300M|+300(300~a)M]
find -exec [CMD] \; : 찾은 결과를 CMD에 맞게 실행하라.
-o : or 의 의미 앞 구문과 뒷 구문
-a : and 의 의미 앞구문과 뒷 구문
[참고]자주 사용되는 find 명령어 형식들
find / -name core -type [f|d] (# find / -name "*oracle*" -type f)
find / -user user01 -group class1
find / -mtime [-7|7|+7]
find / -perm [-755|755]
find / -size [-300M|300M|+300M]
find / -name core -type f -exec rm {} \;
-> -name core -type f으로 찾은 결과를 {} 안에 넣고 -exec 실행하라 rm 지우는것을
3. 활용예시
1) 오래된 로그 기록 삭제
ex) find /Log_dir2 -name "*.log" -type f -mtime +60 -exec rm -f {} \;
2) 파일 시스템이 갑자기 풀(Full) 나는 경우 *full : 꽉차다
ex) find /var -mtime -2 -size +512M -type f
3) 에러메세지가 들어 있는 startup script 검색 예
4) 에러 메세지를 검색하는 방법에 대해서
ex) find /source -type f -exec grep -l 'server error' {} \;
'모의해킹 침해대응 과정 > Linux 기초' 카테고리의 다른 글
리눅스 기초때기 5일차 쉘의 특성 (0) | 2021.04.02 |
---|---|
리눅스 기초때기 4일차 압축과 아카이빙 / gzip,bzip2,tar,zip (0) | 2021.04.02 |
리눅스 기초때기 4일차 유용한 명령어들 / CMP&DIFF, SORT, FILE (0) | 2021.04.02 |
리눅스 기초때기 4일차 통신관련 명령어 / MAIL, WALL (0) | 2021.04.02 |
리눅스 기초때기 3일차. 특수 퍼미션 SetUID/SetGID/Sticky Bit (0) | 2021.04.01 |