소개
cloc은 Al Danial이 개발한 소스 코드 라인 카운터로, 다양한 프로그래밍 언어로 작성된 코드에서 빈 줄, 주석 줄, 실제 물리적 코드 줄 수를 집계해 보여 줍니다. 두 버전의 코드베이스를 비교해 빈 줄·주석·소스 줄의 차이를 계산하는 기능도 제공하며, Perl로 작성되어 표준 Perl 배포판 외부 의존성 없이 동작합니다. 명령줄 도구로서 파일, 디렉터리, 아카이브, Git 커밋 등 다양한 입력을 분석할 수 있고, winget을 통해 Windows용 포터블 실행 파일로도 배포됩니다.
상세정보
다국어 소스 코드 라인 집계
여러 프로그래밍 언어의 소스 코드에서 빈 줄, 주석 줄, 물리적 코드 줄을 자동으로 구분해 세고 언어별 합계와 총합을 표 형태로 보여 줍니다.
두 버전 간 차이 계산
파일·디렉터리·아카이브·Git 커밋 등 두 입력을 비교해 빈 줄·주석·소스 줄의 변화를 계산하는 –diff 기능을 제공합니다.
다양한 입력 형식 지원
개별 파일, 디렉터리 재귀 분석, .tar/zip/Jupyter 노트북(.ipynb)/Python wheel(.whl) 등 압축 아카이브, Git 커밋 해시 또는 브랜치를 입력으로 받을 수 있습니다.
다양한 출력 형식
plain text, Markdown, SQL, JSON, XML, YAML, CSV 등 여러 포맷으로 결과를 내보낼 수 있으며, 다중 실행 결과를 언어 및 프로젝트 단위로 합산하는 기능도 지원합니다.
언어 정의 확장
언어별 주석 정의를 외부 파일에서 읽어 들일 수 있어, 아직 정식으로 등록되지 않은 사용자 정의 언어에 대해서도 분석을 시도할 수 있습니다.
Windows에서 winget으로 설치
Windows에서는 winget 패키지 매니저를 통해 AlDanial.Cloc 패키지를 설치할 수 있습니다. PowerShell 또는 명령 프롬프트에서 다음 명령을 실행하면 됩니다.
winget install --id AlDanial.Cloc --exact
설치 후 cloc.exe가 PATH에 등록되어 명령 프롬프트에서 바로 호출할 수 있습니다. 별도의 Perl 설치가 필요 없는 포터블 Windows 실행 파일(cloc-2.10.exe)도 GitHub Releases에서 직접 내려받아 PATH의 임의 폴더에 둘 수 있습니다.
Linux/macOS에서 소스 버전 사용
GitHub Releases에서 cloc-2.10.pl 같은 소스 파일을 내려받아 cloc으로 이름을 바꾸고 실행 권한을 부여한 뒤 PATH가 잡힌 디렉터리(예: ~/bin)에 두면 됩니다. Linux 및 macOS용 별도 바이너리는 제공되지 않으므로 Perl 5.6 이상이 필요합니다.
패키지 매니저를 통한 설치
운영 체제에 따라 다음 명령으로 설치할 수 있습니다(Windows의 winget, Chocolatey, Scoop을 제외하면 모두 Perl이 필요합니다).
- npm:
npm install -g cloc - Debian/Ubuntu:
sudo apt install cloc - Red Hat/Fedora:
sudo yum install cloc, Fedora 22 이상은sudo dnf install cloc - Arch:
sudo pacman -S cloc, AUR 최신판은yay -S cloc-git - Gentoo:
sudo emerge -av dev-util/cloc - Alpine:
sudo apk add cloc - OpenBSD:
doas pkg_add cloc - FreeBSD:
sudo pkg install cloc - macOS(MacPorts):
sudo port install cloc - macOS(Homebrew):
brew install cloc - Windows(Chocolatey):
choco install cloc - Windows(Scoop):
scoop install cloc
cloc은 무엇을 세나요?
소스 코드에서 빈 줄(blank), 주석 줄(comment), 실제 물리적 코드 줄(code)을 구분해 언어별 및 합계로 집계해 줍니다.
어떤 입력을 분석할 수 있나요?
개별 텍스트 파일, 디렉터리(재귀), tar/zip 등의 압축 아카이브, Python wheel(.whl), Jupyter 노트북(.ipynb), Git 커밋 해시 또는 브랜치 이름을 입력으로 받을 수 있습니다.
Windows에서 Perl 없이 실행할 수 있나요?
GitHub Releases에서 배포되는 cloc-2.10.exe는 Perl 설치 없이 바로 실행할 수 있는 Windows 실행 파일이며, winget, Chocolatey, Scoop으로도 동일한 바이너리를 설치할 수 있습니다.
두 버전의 코드 차이도 볼 수 있나요?
–diff 또는 –count-and-diff 옵션을 사용하면 두 입력 집합의 빈 줄·주석·소스 줄 변화를 계산해 출력할 수 있습니다.
시스템 요구사항
- 운영 체제: Windows, Linux, FreeBSD, NetBSD, OpenBSD, macOS, AIX, HP-UX, Solaris, IRIX, z/OS 중 Perl 5.6 이상이 설치된 환경, 또는 Perl 없이 동작하는 Windows 바이너리(cloc-2.10.exe)
- 소스 버전(클 Perl 스크립트) 실행 시 Perl 5.6 이상 필요 (Windows에서는 ActiveState Perl 5.6.1 이상, Strawberry Perl, Cygwin, MobaXTerm+Perl 플러그인 등)
- Windows 바이너리는 별도의 런타임 요구 사항 없음
- 패키지 매니저를 통한 설치 시: winget(Windows), Chocolatey, Scoop, Homebrew, apt, yum, dnf, pacman, apk, MacPorts 등 사용 가능


