OS/Linux

리눅스 cat, grep, more 명령어

realforce111 2016. 5. 25. 09:33

리눅스의 cat(concatenate) 명령은 파일 내용을 텍스트 형태로 출력하는 기능을 합니다. 


파일 내용을 확인하기 위해 자주 사용됩니다. cat 명령은 grep, more 명령어와 같이 사용할 수 있습니다.


cat --help 입력 시 옵션을 확인할 수 있습니다.


n 옵션을 사용하면 행 번호가 표시됩니다.


more 명령어는 페이지 단위로 출력되며, 스페이스를 입력하면 페이지를 넘길 수 있습니다. 

Ctrl+c를 입력하면 출력이 종료됩니다.


grep 명령어는 내용에서 특정 문자열로 필터 하여 문자열이 들어있는 행을 출력하는 기능입니다.

grep --help 입력 시 옵션을 확인할 수 있습니다.


-i : 영문의 대소문자를 구별하지 않음
-v : pattern을 포함하지 않는 행 출력
-n : 검색 결과에 번호 표시
-l : 파일명만 출력
-c : 패턴과 일치하는 행의 개수만 출력
-r : 하위 디렉터리까지 검색
-E : 정규 표현식 사용


아래는 grep 명령어를 사용하는 예제입니다.


cat log.txt | grep -E "service=dns|service=icmp" | more

or (service가 dns이거나 icmp인 행 출력, | 로 구분)


cat log.txt | grep -E "policy_id=1.*service=icmp" | more

and (policy_id=1이고 service가 icmp인 행 출력, .*로 구분)


cat log.txt | grep -v "service=dns" | more

not (service가 dns가 아닌 행 출력, -v 옵션)



cat log.txt | grep -E "service=dns|service=icmp" | more

service가 dns이거나 icmp인 행 출력



cat log.txt | grep "service=dns" > filter.txt

명령어 뒤에 >를 입력하고 파일명을 입력하면 결과를 파일로 저장합니다.


> 덮어쓰기
>> 이어서 저장