MacOS나 리눅스의 터미널에서 파일 내용을 보고 싶을 때, 편집기를 열 때도 있지만, 간단히 내용 확인만 하려고 할 때 많이 있는 명령어가 "cat"입니다. 내용이 빠르게 출력되기 때문에, 간편하게 쓰기는 좋은데 불편한 점이 몇 가지 있습니다.
- 문법 강조가 되지 않는다던가...
- 한번에 모든 내용을 출력하기 때문에, 화면을 넘어가는 길이의 파일은 스크롤을 해서 확인해야 한다던가... ( 이게 tmux를 쓰면 아주 불편한 점이 배가됩니다. )
그래서인지 cat을 복제한 bat이 나타났습니다.
이름 하야, 날개 달린 고양이의 복제품, 박쥐입니다. 설명에 걸맞게 다양한 기능을 추가되었습니다.
- 문법 강조
- Git 연동
- (라인피드 글자 같은) 숨김 문자 출력
- 자동 페이징.
- 파일 병합.
위와 같은 기능을 제공합니다.
설치는 Ubuntu의 경우,
$ sudo apt-get install bat
이라고 하고, 실행은 batcat으로 실행합니다. ( debian 패키지 중 이미 bat을 쓰고 있는 다른 것이 있어, debian 계열에서만 batcat이라 사용하고, 다른 OS에 대해서는 bat을 사용합니다. )
설치 후 같은 파일을 실행해보면, 그 차이를 바로 알 수 있는데요.
$ batcat sessions.go
문법 강조가 되어있는 것은 물론이고, 줄번호와 파일명이 같이 보이게 되고, less로 파일을 열었을 때와 마찬가지로 페이징이 되기 때문에, 항상 파일의 첫 번째 부분을 확인할 수 있습니다. 물론 less로 열었을 때와 마찬가지로 검색도 할 수 있습니다.
설치법도 간단하고, bat에 문제가 되면 다시 cat을 사용하면 되니 부담도 적습니다. cat에 단조로움에 불만이 있으셨던 분들은 한번 설치해서 사용해보셔도 좋을 것 같습니다.
출처 : https://github.com/sharkdp/bat
참고 : debian 계열의 Linux distribution에서는 다음과 같이 심볼릭 링크를 걸어 사용하라고 가이드하고 있습니다. batcat이 싫으신 분들은 아래 코드를 실행하시면 됩니다.
$ mkdir -p ~/.local/bin
$ ln -s /usr/bin/batcat ~/.local/bin/bat