더북(TheBook)

파일 내용 확인하기

파일 내용을 화면에 표시하는 명령은 cat입니다. cat [파일명]으로 명령을 입력합니다. /var/log/syslog는 시스템이 남기는 로그 파일로 운영 과정에서 발생하는 이벤트 기록을 확인할 수 있는 파일입니다.

shinjaehun@losttemple:~$ cat /var/log/syslog

cat는 원래 파일 내용을 확인하는 명령이지만 여기에 ‘ >’를 이용해서 결과를 모니터 화면 대신 해당 파일로 내보내 새로운 파일을 생성할 수 있습니다. cat > [파일명]을 실행하고 내용을 입력합니다. 입력이 끝나면 Ctrl + d를 눌러 종료하고 다시 커맨드라인으로 나갑니다.

shinjaehun@losttemple:~$ cat > teamdata
pitchers
catchers
infielders
outfielders
designated hitters
disabled list
Tip

리눅스의 표준 입력 장치는 키보드, 표준 출력 장치는 모니터 화면입니다. ‘>’ 또는 ‘<’로 표준 입력 및 출력을 다른 대상으로 바꿀 수 있습니다.

cat는 파일 내용을 끝까지 한 번에 다 보여 주기 때문에 보여줄 내용이 많다면 한 화면을 넘겨 버립니다. 보여줄 내용이 많을 때는 moreless를 사용합니다. /var/log/syslog는 분량이 많기 때문에 moreless로 한 화면씩 확인하는 편이 낫습니다.

명령을 실행한 다음 키를 사용해서 화면을 전환할 수 있는데 f를 누르면 다음의 화면을, b를 누르면 이전 화면을 보여줍니다. Enter를 누르면 한 줄씩 보여 주며 q를 누르면 종료하고 커맨드라인으로 되돌아갑니다.

shinjaehun@losttemple:~$ more /var/log/syslog
Tip

화면 아래에 --More--(0%)로 보고 있는 파일의 위치를 가늠할 수 있습니다.

결론적으로 얘기하면 more보다 less가 더 유용합니다. lessmore에서 사용하는 키와 더불어 가장 첫 화면으로 이동하는 g와 가장 마지막 화면으로 이동하는 G(Shift+g)를 사용할 수 있습니다. 검색도 가능합니다. ‘/DHCP’라고 입력하면 ‘DHCP’라는 문자열이 하이라이트되며 이때 nN(Shift+n)을 눌러 검색된 문자열을 건너뛰어 이동할 수 있습니다.

shinjaehun@losttemple:~$ less /var/log/syslog

headtail은 전체 파일의 일부만 보여주는 명령입니다. head는 파일의 처음을 기준으로 파일 내용을 출력합니다. 특별히 옵션을 사용하지 않으면 파일의 첫 번째 줄부터 10번째 줄까지 출력합니다.

shinjaehun@losttemple:~$ head /var/log/syslog

특정 줄까지 출력하고 싶다면 -n 옵션을 사용합니다. 예를 들어 처음부터 15번째 줄까지 보고 싶다면 다음과 같이 입력합니다.

shinjaehun@losttemple:~$ head -n 15 /var/log/syslog

tailhead와 반대로 파일의 마지막 부분을 기준으로 파일 내용을 출력합니다. head와 마찬가지로 옵션을 지정하지 않으면 파일의 마지막 줄부터 10번째 줄까지 출력하며 tail 역시 -n 옵션을 추가하여 보고 싶은 줄의 범위를 지정할 수 있습니다. 일반적으로 로그 파일은 최신 기록이 파일 마지막에 덧붙여지는 형태로 저장되기 때문에 로그를 모니터링할 때는 head보다 tail을 더 자주 사용합니다.

shinjaehun@losttemple:~$ tail /var/log/syslog

-f 옵션은 실시간으로 로그를 모니터링합니다. 명령을 실행하고 나서 명령 프롬프트를 보여주지 않고 지속적으로 시스템이 변하는 상황을 보여줄 것입니다. Ctrl + c 를 누르면 tail을 종료하고 커맨드라인으로 되돌아옵니다. 시스템에 발생한 문제를 점검할 때 유용한 옵션입니다.

shinjaehun@losttemple:~$ tail -f /var/log/syslog
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.