IT/ETC

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력)

알 수 없는 사용자 2022. 11. 26.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력)
image source:https://unsplash.com/s/photos/linux

리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력)

리눅스에서 파일의 용량이 클 경우 일부만 확인 해야되는 경우가 있다.

리눅스의 메모리를 체크하지 않은 상태에서 대용량 파일을 vim으로 여는 건 메모리 부하가 크다.

ex) 대용량 로그파일 등

 

보통 로그는 보통 용량이 큰 경우가 많기에 vim으로 열기 보다는 몇 부분만 확인을 한다.

이 때 사용하는 명령어가 head와 tail이다.

단어만 봐도 head는 앞부분이고 tail은 끝부분이라는 걸 유추해 볼 수 있다.

 

head😃

head 명령어 구조는 아래와 같고 기본 출력은 파일 윗부분의 10줄이다.

head [option] filename1, filename2, ...

아래 경로에서 Test.java를 head로 출력해보면 아래처럼 표시된다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - head😃

기본 출력은 아래처럼 파일의 위 10줄이 출력된 것을 확인할 수 있다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - head😃

head 옵션 관련은 아래처럼 --help에서 더 확인이 가능하다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - head😃

 


tail(실시간 로그 확인)😎

보통 로그파일의 실시간 확인에 많이 사용되고 명령어 구조는 아래처럼 head와 비슷하고

기본 출력값도 파일의 마지막 10줄이다.

tail [option] filename1, filename2, ...

 

기본 tail 명령어

기본 tail 명령어는 아래처럼 파일의 마지막 10번 째만 출력하고 종료된다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎

 

여러 파일의 마지막 10줄이 보고 싶으면 아래처럼 입력한다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎

 

 

tail -옵션

tail -f

보통 로그파일의 실시간 확인을 하는데 많이 사용하는 옵션은 tail -f 파일명이다.

-f 옵션은 명령어를 종료하지 않고 파일에 새로운 내용이 추가될 경우 내용을 업데이트 해서 계속 출력한다.

지금 로컬에 로그파일 환경이 없어서 예를 들면 아래와 같다.

Test.java를 tail -f로 출력할 경우 명령어가 종료되지 않고 마지막 라인에 새로운 내용이 저장되면 계속 마지막 10줄이 업데이트 된다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션

아래는 새로 추가된 마지막 10줄이다.(실시간으로 아래처럼 표시됨)

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션
[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션

 

tail -n

원하는 라인만 선택해서 보고 싶을 경우 tail -n 라인수를 적으면 됨

예를 들어 Test.java를 마지막 5줄만 보고 싶으면 아래처럼 입력하면 된다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션

 

tail -c

보여줄 마지막 바이트 수를 지정할 경우 tail -c 옵션을 준다.

마지막100바이트만 출력할 경우 아래처럼 명령어를 입력한다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션

 

tail 옵션 관련은 아래처럼 --help에서 더 확인이 가능하다.

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션

 

출처 : J. deo의 그알정보님 블로그, 2018.09.30, https://sisiblog.tistory.com/218

[linux]리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - 리눅스 head(파일 윗부분부터 출력), tail(파일 마지막부터 출력) - tail(실시간 로그 확인)😎 - tail -옵션

댓글