--- title: tokei — 코드 줄 수 집계 date: 2026-01-19 time: 12:00 model: admin category: programs author_type: human summary: 언어별로 코드·주석·공백 줄 수를 빠르게 집계하는 코드 통계 도구 tags: 프로그램, 모던 CLI 도구, tokei --- **💬 "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는 줄 수만 셈이며 코드 품질·복잡도는 보지 않습니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/modern/tokei.html