서버에서 로그를 찾거나 이슈를 확인해야 하는 경우에 자주 사용하는 명령어가 grep이다.

grep 명령어가 무엇인지, 어떤 옵션을 사용하는지, 어떻게 주로 활용하는지 알아보자.

 

1.grep

Global Regular Expression Print
grep prints lines that contain a match for one or more patterns.

https://www.gnu.org/software/grep/manual/grep.html

 

GNU Grep 3.7

grep comes with a rich set of options: some from POSIX and some being GNU extensions. Long option names are always a GNU extension, even for options that are from POSIX specifications. Options that are specified by POSIX, under their short names, are expli

www.gnu.org

레퍼런스 문서에 의하면 grep 명령어는 `하나 이상의 일치하는 패턴을 포함하는 라인'을 출력하는 명령이다.

 

기본적인 표현식은 다음과 같다.

grep [option...] [patterns] [file...]

옵션과 파일 인수는 비어있어도 되지만, 패턴은 하나 이상이 존재해야 한다.

 

2. option

옵션은 정말 많은 기능을 가지고 있다.

하나하나 다 공부하기엔 시간이 부족하므로 다른분들이 자주 사용하시는 몇가지만 찾아보았다.

 

  • -e 패턴을 사용한다는 옵션이다. grep의 특성상 기본적으로 사용하는 옵션인데, 보통 -ef로 붙여서 사용한다.
  • -f 파일을 패턴으로 사용하는 옵션이다. 파일에 패턴을 저장해두고 불러와서 사용할 수 있다.

  • --color 패턴을 색상으로 강조하는 옵션이다

가끔씩 확인하는 네트워크 포트 확인할 때도 사용할 수 있다.

 

위 네트워크 명령어에 grep을 | 로 연결하여 사용하는 방식을 많이 보았는데, 파이프라는 기능이었다.

| 가 파이프 명령어이며 앞의 netstat -an 의 출력값을 뒤의 명령어의 입력값으로 사용하는 기능인데 나중에 더 자세히 찾아봐야 겠다.

 

'IT > Linux' 카테고리의 다른 글

[Linux] 리눅스 명령어 정리(1)  (0) 2022.07.02

최근에 시스템관리자분에게 로그관련하여 문의를 드리러 간 적이 있었다.

이슈를 확인하기 위해서 여러 곳에 있는 정보들을 하나씩 확인하면서 도와주셨는데, 그때 리눅스 명령어를 자유자재로 쓰시는 모습이 너무 멋있어보였다.

 

같이 일하시는 개발자 선배분들도 배포나 로그 확인 등의 작업을 하실 때 부족함 없이 필요한 만큼 리눅스를 잘 활용하시지만 시스템관리만 전문적으로 하시는 분들의 모습은 확실히 숙련도가 달라보였다.

지금부터라도 정리하고 하나씩 손에 익혀나가자 

 

 

도움말

명령어 기능
which 명령어의 위치를 찾는다
--help 옵션에 붙여서 아무 명령어의 도움말을 표시한다

 

 

파일시스템

명령어 기능 옵션
cd [디렉토리명] 
(change directory)
현재 디렉토리를 변경한다. ~,~/, 빈값 엔터 : 홈 디렉토리로 이동 
cd / 루트 디렉토리로 이동
cd .. 상위 디렉토리로 이동
pwd
(print working directory)
현재 디렉토리를 절대 경로 명으로 출력한다.  
 ls [옵션] [파일명] 
(list)
현재 디렉토리 내의 파일과 디렉토리에 대한 정보를 출력한다. -a 디렉토리 내의 모든파일(.으로 시작되는 파일 포함)을 출력 
-i 파일의 아이노드(inode)번호를 출력 
-h 파일의 크기를 단위로 표시
-l 파일의 다양한 정보를 함께 출력(소유자 정보, 권한 정보, 크기, 날짜) 
-m 파일을 쉼표로 구분하여 가로로 출력 
-s kb 단위의파일크기를 출력 
-t 파일을 최근에 생성된 시간순으로 출력 
-F 파일의 형태와 함께 출력('*' : 실행파일, '@' : 심볼릭링크, '/' : 디렉토리) 
-R 서브 디렉토리의 내용을 포함하여 출력
-S 파일을 크기순으로 출력 
 cp [옵션] [원본파일명] [목적 파일명 / 디렉토리명] 
(copy)
하나 이상의 원본 파일을 목적 파일이나 디렉토리로 복사한다. -i 파일 복사시 동일 파일명이 있을시에 사용자에게 덮어 쓸 것인지를 표시
-f 동일파일명 발생시에도 모두 강제적으로 복사함 
-p 원본 파일의 시간 및 소유 권한 보존 
-r 포함된 자식 디렉토리까지 모두 복사
rm [옵션] [파일명] 
(remove)
파일(디렉토리)을 삭제한다. -f 디렉토리 안의 파일을 삭제할 때 사용자에게 확인을 요구하지 않음 
-r 인수 list 에서 지정한 디렉토리 혹은 그 아래의 subdirectory를 삭제 
-i whrite permission 이 없는 파일의 삭제를 위해 대화식으로 확인 
-p 디렉토리 dir-name과 비어있는 부모 디렉토리를 사용자가 제거할 수 있으며, 전체 경로명이 삭제 되거나 어떤 이유로 인해 경로명의 일부가 남은것과 무관하게 표준출력에 메세지가 출력됨 
-s -p 선택항목 지정시 표준오류에 출력되는 메시지를 삭제
mkdir [옵션] [파일명]
(make directory)
새로운 디렉토리를 만든다. -p 만들고자하는 디렉토리의 상위 디렉토리가 없는 경우 상위 디렉토리까지 같이 만든다.
rmdir [옵션] [파일명] 
(remove directory)
디렉토리를 삭제한다. -p 삭제한 디렉토리에 대한 메시지가 표시됨 
-s 삭제한 디렉토리에 대한 메시지가 표시되지 않음.(Default)
diff 
(difference)
두 파일의 차이를 출력한다.  
mv [옵션] [파일명] 
(move)
파일의 위치를 바꾸거나 이름을 변경한다. -f 대상 파일이 존재할 대 새로운 파일로 대체 
-i 대상파일이 있을 때 확인 후 작업 
-f 파일의 이동 과정을 보여준다.
touch [-amc] [MMDDhhmmYY] [파일명]  파일의 액세스 시간이나 갱신 시간을 수정한다. -a 파일의 액세스 시간을 바꿈 
-m 파일의 갱신 시간을 바꿈 
-c 파일명이 존재하지 않는다면 새로운 파일을 만들지 않음 

 

 

검색

명령어 기능 옵션
locate 패턴과 일치하는 파일을 이름으로 검색한다.  
find [옵션] [파일명]  파일을 이름, 수정날짜, 소유주, 허가 등을 기준으로 하여 검색하게 해준다. -name filename filename과 일치하는 파일을 찾음
-print 현재의 경로 이름을 표시
grep [옵션] [패턴] [파일명] 
(Global Regular Expression Print)
파일 내부에 있는 텍스트의 내용으로 파일을 검색한다. -c 파일 내에서 패턴과 일치하는 줄의 총수를 구한다. 
-h 여러 개의 파일을 검색할 때, 출력에 파일명이 나타나는 것을 방지한다. 
-i 대, 소문자를 구별하지 않는다 
-n 일치하는 줄의 줄 번호도 같이 출력한다 
-v 패턴과 일치하지 않는 줄만 출력한다
head [-카운트] [파일명]  파일의 첫 부분부터 카운트로 정한 숫자만큼의 줄 수를 출력한다  
tail [-카운트] [파일명]  파일의 카운트로 정한 숫자만큼의 끝 부분 줄 수를 출력한다  

 

 
 
 

'IT > Linux' 카테고리의 다른 글

[Linux] grep 명령어  (0) 2022.07.08

+ Recent posts