• All Objects
    • Life
    • Technic
    • entry
  • Tags
  • go
  • docker
  • github
  • wsl2
  • git
Technic

bat ( github.com/sharkdp/bat )

2020. 8. 6. 00:06

MacOS나 리눅스의 터미널에서 파일 내용을 보고 싶을 때, 편집기를 열 때도 있지만, 간단히 내용 확인만 하려고 할 때 많이 있는 명령어가 "cat"입니다. 내용이 빠르게 출력되기 때문에, 간편하게 쓰기는 좋은데 불편한 점이 몇 가지 있습니다. 

 

- 문법 강조가 되지 않는다던가...

- 한번에 모든 내용을 출력하기 때문에, 화면을 넘어가는 길이의 파일은 스크롤을 해서 확인해야 한다던가... ( 이게 tmux를 쓰면 아주 불편한 점이 배가됩니다. )

 

cat의 출력.

 

 그래서인지 cat을 복제한 bat이 나타났습니다. 

이름 하야, 날개 달린 고양이의 복제품, 박쥐입니다. 설명에 걸맞게 다양한 기능을 추가되었습니다. 

  • 문법 강조
  • Git 연동
  • (라인피드 글자 같은) 숨김 문자 출력
  • 자동 페이징.
  • 파일 병합.

위와 같은 기능을 제공합니다. 

 

설치는 Ubuntu의 경우, 

$ sudo apt-get install bat

이라고 하고, 실행은 batcat으로 실행합니다. ( debian 패키지 중 이미 bat을 쓰고 있는 다른 것이 있어, debian 계열에서만 batcat이라 사용하고, 다른 OS에 대해서는 bat을 사용합니다. )

 

설치 후 같은 파일을 실행해보면, 그 차이를 바로 알 수 있는데요. 

$ batcat sessions.go

bat의 출력결과

문법 강조가 되어있는 것은 물론이고, 줄번호와 파일명이 같이 보이게 되고, 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

 

반응형
copyright 2020. noname

티스토리툴바