리눅스 명령어 정리(1)- grep, less, head, tail

Ubuntu 14.04 LTS 환경을 기준으로 작성되었습니다.

grep

문자열 검색 명령어

옵션
  • -r: 디렉토리 내의 모든 디렉토리, 파일까지 검색하도록 지정
  • -E: 패턴을 정규표현식으로 확장
  • -i: 대문자, 소문자 차이 무시
  • -v: 검색할 문자열이 포함되지 않은 줄만 출력
  • -n: 라인 수 출력
예시
$ grep -E "^abc" file.txt

: file.txt에서 "abc"로 시작하는 모든 줄 출력

$ grep -r "abc" /home/jupiny/directory/

: /home/jupiny/directory/ 경로에서 "abc"가 포함된 모든 파일 출력(디렉토리 내의 모든 디렉토리, 파일 포함)

$ grep "abc" file.txt | grep -v "def"

: file.txt에서 "abc"가 포함되고 "def"는 포함되지 않은 모든 줄 출력


less

스크롤할 수 있게 출력하는 명령어

예시
$ less test.txt

: test.txt 의 내용을 스크롤할 수 있게 출력

ps -aux | less  

: 현재 실행되고 있는 프로세스 목록을 스크롤할 수 있게 출력


파일 내용의 앞 부분만 출력하는 명령어

옵션
  • -n: 출력하는 줄 수(기본적으로 10줄)
예시
$ cat test.txt | head -n 3

: test.txt 의 앞에서 3줄만 출력

$ cat test.txt | head -n -5

: test.txt 의 마지막 5줄을 제외한 모든 줄을 출력


tail

파일 내용의 끝 부분만 출력하는 명령어

옵션
  • -F: 파일 변경을 감시해서 내용이 추가될 때마다 그 부분을 실시간으로 출력
  • -n: 출력하는 줄 수(기본적으로 10줄)
예시
$ tail -F access.log | grep "abc"

: access.log 에 추가된 줄 중 "abc"가 포함된 줄만 실시간으로 출력

$ cat test.txt | tail -n 5

: test.txt 의 끝에서 5줄만 출력

$ cat test.txt | tail -n +6

: test.txt 의 6번째 줄부터 출력


출처