elsa in mac

유용한 terminal CLI 도구들 (2025.06) 본문

Terminal(CLI,TUI)

유용한 terminal CLI 도구들 (2025.06)

elsa in mac 2025. 6. 24. 23:19

이번 포스트에서는 Linux, macOS, Windows 등의 terminal에서 유용하게 사용할 수 있는 3rd-party open source CLI 도구들을 소개합니다. 타이틀에 굳이 년/월을 표시한 이유는 해당 CLI도구들이 언제고 그 생명을 다할 수 있기 때문입니다.  대략적으로 언제 시점을 기준으로는 아직 쓸만한 도구들이라는 것을 파악하기 위함입니다. 

 

연결된 USB 장치를 간단히 확인활 수 있는 cyme

첫 번째로 소개할 CLI 도구는 PC의 USB Bus와 해당 Bus에 연결된 USB 장치들의 목록을 확인할 수 있는 cyme이라는 도구입니다. 

cyme 실행
cyme --tree --headings --hide-buses 실행 예

원래 Linux에서 lsusb를 하면, usb 장치들에 대한 상세한 정보를 확인할 수 있기는 하지만, 굳이 복잡하고 상세한 정보가 필요치 않고 단순히 어떤 장치들이 어떤 Bus에 연결되어 있고, 해당 장치의 속도가 어느 수준인지 정도만 확인이 필요하다면 꽤 만족스러운 도구일 수 있습니다. 

위의 스샷을 보면, 일단 이쁘고 직관적이죠. 2개의 Host에 4개의 장치가 연결되어 있는 것을 알 수 있습니다. 두 개는 USB 3.0으로 연결되어 있으며 ATA/ATAPI 장치니까. SSD 같은 외장저정장치 임을 알 수 있습니다. 그리고, 그 아래로 USB 2.o HUB를 통해 Archon AK47 키보드와 마우스가 연결되어 있는 것이 확인됩니다. 

이 도구는 Rust로 작성되어 있으며, Window, Linux, macOS를 모두 지원합니다. 물론, 각 OS 마다 표시되는 정보의 수준이 조금씩 상이할 수 있습니다. 실제로는 굉장히 많은 옵션을 갖추고 있는데.. 위와 같은 결과를 얻으려면..  아래의 명령을 수행하면 됩니다. 

cyme --tree --headings --hide-buses

저의 경우에는 usbtree라는 명칭으로 alias를 선언하여 사용합니다. 

 

docker container의 상태를 확인할 수 있는 ctop

두번째로 소개하는 도구는 실-시간으로 docker container들의 상태를 확인할 수 있는 ctop 입니다.  terminal 기반 CLI 중에는 굉장히 많은 top(top of the list 또는 table of process)들이 존재합니다. htop, btop, ntop...  

ctop 실행 예

최근에는 docker의 명성이 예전만 못하지만, 여전히 container 기반의 가상환경 솔루션으로 여전히 많은 사용자들이 docker를 사용하고 있지요. docker를 관리하는 가장 대표적인 도구로 lazydocker가 있지만, CPU나 RAM I/O등의 실-시간 상태를 확인하고 싶다면 ctop이 간단하고 좋습니다.  2022년 중반쯤 업데이트 진행이 중지되었지만, 지금 받아서 사용해도 전혀 문제가 없습니다.  물론 Linux, macOS, Windows를 모두 지원합니다.   ? 키를 누르면, 사용할 수 있는 command의 종류와 설명이 나오니 참고하면 됩니다. 

 

TUI 기반의 시계 ClockTemp

세 번째로 소개할 도구는 terminal에서 사용할 수 있는 디지털시계인 ClockTemp 입니다. 이름에서 알 수 있듯이 시계와 사용자가 지장한 위치(위/경도)의 온도를 기본으로 표시해 주는 도구입니다. 

clocktemp 실행 예

기능키인 w(시계), c(달력), s(스톱워치), t(타이머) 로 모드를 전환할 수 있습니다. python으로 작성되어 있으며, 소스코드를 다운로드하고, install.sh를 실행하여 설치하면 됩니다. install.sh를 사용하고 싶지 않다면 script 폴더 안에 있는 cal.py, clock.py, clocktemp.py temperature.py 등 4개의 python를 특정 폴더에 넣고. clocktemp.py를 실행하면 됩니다. alias나 shell-script를 사용하면 좋습니다. 

clocktemp.py -tf 24 -df dd/mm -tu c -s true -lat 37.5665 -lon 126.9780 -c cyan -b default

# -tf  : time format - 12/24
# -df  : date format - dd/mm (2자리 일/월/년)
# -tu  : temperature unit - c(섭씨)/f(화씨)
# -s   : 초를 표시할 것인가(true/false)
# -lat : 위도 (서울)
# -lon : 경도 (서울)
# -c   : 글자색
# -b   : 배경색(default:투명)

자신이 위치한 곳의 위/경도는 chatGPT에게 물어보면 됩니다. ^^  Desktop Environment를 사용하는 분들이라면 DE에서 사용할 수 있는 Widget을 사용할 수 있지만, DE를 사용하지 않는 분들에겐 유용한 도구가 될 수 있습니다. 나름 갬성 시계라고 할까요?

 

github 활동 상태를 확인할 수 있는 activity

github나 gitea 등 git을 이용하여 프로젝트를 가동하는 사용자라면 유용한 간단한 도구입니다. 일 년을 기준으로 해당 프로젝트의 작업활동 상태를 간단히 확인할 수 있는 activity  입니다. 

activity 실행 예

git 프로젝트의 활동 정보를 볼 수 있는 도구들은 상당히 많지만, 매우 간단하고 깔끔한 인터페이스가 좋습니다. 

main.cpp 파일 하나만 배포하므로, 직접 빌드를 해서 사용하애 합니다. 저의 경우에는 소스코드를 좀 수정해서 한글화 해서 사용하고 있습니다.  빌드하는 방법은 아래와 같습니다. 

# 빌드
g++ -o activity main.cpp

 path에 빌드한 실행 파일을 복사한 후, git 소스코드 폴더에서 activity를 실행하기만 하면 됩니다. 녹색의 짙기는 5단계로 구분되며, 하루 동안에 몇 번의 commit을 했는가의 여부에 따라 활동 수준이 달라집니다. 밝은 녹색일수록 commit을 많이 한 것입니다. 

 

disk cleanup 도구 wiper

다음은 간단하게 폴더의 구성항목들을 확인하고 필요한 경우 해당 폴더나 파일을 삭제할 수 있는 도구인 wiper  입니다. 

wiper 실행 예

macOS 및 Windows 용은 release로 배포를 하는데, linux용은 없네요.. 별도로 build를 해야 합니다. 소스코드 git clone 한 후,

cargo build --release

빌드된 바이너리는 target/release 폴더에 있으니 bin 폴더로 복사한 후 사용하면 됩니다. 크기순으로 sorting 할 수 있는 것이 가장 큰 장점이라고 할 수 있습니다. 간단하고 쉽게 사용할 수 있어 좋습니다.  정렬은 s,  해당 파일이나 폴더를 삭제하려면 d키를 연속으로 두번 누루면 됩니다. 

 

공유하기 링크
Comments