tokei — 코드 줄 수 집계
Linux / 모던 CLI 도구 / tokei.html
💬 "tokei 명령어"
tokei는 코드베이스의 줄 수를 언어별로 집계하는 도구입니다. 어떤 언어로 얼마나 코드를 썼는지, 그중 실제 코드·주석·공백이 각각 몇 줄인지 한 번에 셉니다.
Rust로 만들어져 대형 저장소도 순간에 셈하며, git 추적 파일만·숨김 파일만 등 세부 조건으로 걸러 집계합니다. 프로젝트 규모 파악·리팩터링 판단에 씁니다.
- 개념: 폴더를 훑어 언어별 코드·주석·공백 줄 수를 통계로 냅니다.
- 주요 기능: 언어별 줄 수, 코드/주석/공백 분리, 파일 수, 정렬·JSON 출력을 지원합니다.
- 장점: 몇 만 줄짜리 프로젝트도 1초 만에 셈하며, 결과를 표·JSON으로 받습니다.
- 활용: 프로젝트 규모 파악, 기술 부채 점검, 언어 구성 비교에 사용합니다.
기본 사용법
tokei는 폴더를 주면 자동으로 훑어 집계합니다. 설정이 필요 없는 명령형 도구입니다.
1. 기본 집계
현재 폴더를 훑어 언어별 통계를 냅니다.
tokei # 현재 폴더
tokei src # 특정 폴더
2. 조건 걸기
숨김·git 추적 여부를 걸러 집계합니다.
tokei --hidden # 숨김 파일 포함
tokei --no-ignore # .gitignore 무시
tokei --files # 파일 수만
3. 정렬·출력
많이 쓰는 언어 순으로 정렬하거나 JSON으로 받습니다.
tokei --sort code # 코드 줄 수 기준 정렬
tokei -o json | jq '.["Rust"].code'
설치 및 다운로드
tokei는 cargo·패키지 매니저·바이너리로 설치합니다.
| 환경 | 명령 |
|---|---|
| cargo | cargo install tokei |
| Ubuntu/Debian (패키지 있으면) | sudo apt install tokei |
| Arch | sudo pacman -S tokei |
| 릴리스 바이너리 | github.com/XAMPPRocky/tokei/releases |
설치 확인은 tokei --version. 집계는 tokei 폴더처럼 경로를 주면 됩니다.
자주 쓰는 옵션
| 명령·키 | 설명 |
|---|---|
--sort code | 코드 줄 수 순으로 정렬합니다 |
--files | 파일 수만 집계합니다 |
--hidden | 숨김 파일도 포함합니다 |
--no-ignore | .gitignore 규칙을 무시하고 모두 셉니다 |
-o json | JSON으로 출력해 다른 도구와 연결합니다 |
필수 명령어 조합 3가지
tokei .— 현재 프로젝트 언어별 줄 수 집계tokei --sort code | head— 가장 많은 언어 순으로 확인tokei -o json | jq 'keys'— 언어 목록을 JSON으로 추출
💬 "실제 서버에서 tokei를 사용하는 예시"
프로젝트 규모를 파악하는 순서를 정리했습니다.
1단계 · 프로젝트 집계
프로젝트 폴더를 훑습니다.
tokei ~/workspace/site
2단계 · 언어 순 정렬
어떤 언어가 많은지 봅니다.
tokei --sort code ~/workspace/site
3단계 · 결과 저장
통계를 JSON으로 남깁니다.
tokei -o json ~/workspace/site > loc.json
실무에서는 이렇게 씁니다
1. 프로젝트 규모 파악
상황 — 새로 합류한 프로젝트 크기를 봅니다.
tokei --sort code .
결과 — 언어별 코드·주석·공백 줄 수가 표로 정리됩니다.
포인트 — 리팩터링 우선순위·작업량 가늠에 사용합니다.
2. 언어 구성 비교
상황 — 여러 프로젝트의 언어 비중을 비교합니다.
for d in api web; do echo $d; tokei --sort code $d | head -3; done
결과 — 각 프로젝트 상위 언어를 비교해 볼 수 있습니다.
포인트 — 기술 스택 편중·중복을 점검하는 데 씁니다.
주의할 점
.gitignore에 포함된 파일은 기본에서 제외됩니다(모두 세려면--no-ignore).- 생성 파일·의존성 폴더는
--no-ignore에 너무 크면 집계가 느려질 수 있습니다. - tokei는 줄 수만 셈이며 코드 품질·복잡도는 보지 않습니다.