[shell] grep(egrep,fgrep) -아랑
아래 시스템 관리상 꼭 필수적인 명령어 몇개를 소개하고자 합니다. 시스템
관리자라는 흔히 사용하는 명령어 들입니다. 하지만 대부분이 명령어의 기
능을 다 활용하진 않으시는거 같더군요.
여기에 소개하는 내용이 이 명령의 들의 모든 기능이라고 말하진 않습니다.
다만..이 명령어를 이용하여 시스템을 관리하는 방법을 보다 깊게 소개하고
자 합니다. 어떤분에겐 이정도는 기초이자 기본이라 생각하시는 분들도 계실
것이고 어떤분에겐 자신의 기반을 더더욱 확장시킬수 있는 좋은 자료가 되실
거라 생각이 됩니다. 그럼..천천히 한번 읽어보세요.
작성자 : 서 진우 (alang@sysmng.com)
————————————————————————-
1. 시스템 관리 명령 [1] – grep (egrep,fgrep)
다들 아시다 시피 grep 은 입력에서 주어진 패턴을 포함하고 있는 줄을 찾아
주는 명령이다. 많은 시스템 관리 명령들과 파이프(pipe)를 이용해서 사용할
수 있다. 흔히 사용하는 것은 프로세스 확인이다.
# ps aux | grep httpd
위와 같이 현재 시스템의 프로세스중 httpd 만 검색해 낸다.
만일 pipe 를 이용하여 검색할경우 검색 패턴이 한개 이상일 경우엔 egrep
을 이용하여 검색할수 있다.
# ps aux | egrep ‘httpd|mysql’
이밖에 grep 는 file 내용증에 특정 pattern 이 들어 있는 행을 찾아서 출력
해 준다 option 을 이용하여 보다 다양한 pattern을 선택하여 검색할수 있다.
option :
———————————————-
-i : 대소문자 구별을 하지 않는다.
-v : pattern 을 포함하지 않는 행만 출력한다.
-n : 행번호를 출력한다.
-l : 파일명만 출력한다.
-c : 패턴과 일치하는 라인의 갯수만 보여준다.
———————————————-
몇가지 예를 들어 보겠다.
# grep [option] “pattern” 파일명
대표적인 사용방법이다. 파일에 pattern 이란 단어를 포함하는 행을 출력한다.
# grep -v “^[ ^I]*$” 파일명
위는 공백을 제거한 파일 내용 살펴보기
# grep -v “^#*$” 파일명
위는 주석을 제거한 파일 내용 살펴보기
이밖의 패턴과 정확히 일치하는 것만을 찾아주는 fgrep 가 있다.
grep,egrep,fgrep 의 옵션으론 위의 옵션을 공통적으로 사용한다.
마지막으로 유용한 팁 하나 소개하죠. grep 는 현재 디렉토리에 존재하는 파일
만을 검색한다. 만일 현재 디렉토리와 그 하위 디렉토리까지 grep 패턴 검색을
하고자 할땐 find 명령을 이용하면 된다.
# find . -exec grep “pattern” {} \\;
다음편에 계속됩니다.