본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

cloc

0

cloc은 Al Danial이 개발한 소스 코드 라인 카운터로, 다양한 프로그래밍 언어로 작성된 코드에서 빈 줄, 주석 줄, 실제 물리적 코드 줄 수를 집계해 보여 줍니다.

라인 카운트클록프로그래밍 언어

소개

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 등 사용 가능