cloc is available for all major Linux distributions. To install
cloc
on your system simply install cloc
package from system's package repository: DEBIAN/UBUNTU: # apt-get install cloc FEDORA/REDHAT/CENTOS # yum install cloccloc work on per file or per directory basis. To count the lines of the code simply point
cloc
to a directory or file. Let's create my_project
directory with single bash script: $ mkdir my_project $ cat my_project/bash.sh #!/bin/bash echo "hello world"Let
cloc
to count the lines of our code: $ cloc my_project/bash.sh 1 text file. 1 unique file. 0 files ignored. http://cloc.sourceforge.net v 1.60 T=0.00 s (262.8 files/s, 788.4 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Bourne Shell 1 1 0 2 -------------------------------------------------------------------------------Let's add another file by this time with perl code and count the line of code by pointing it to the entire directory rather then just a single file:
$ cat my_project/perl.pl #!/usr/bin/perl print "hello world\n" $ ls my_project/ bash.sh perl.pl $ cloc my_project/ 2 text files. 2 unique files. 0 files ignored. http://cloc.sourceforge.net v 1.60 T=0.01 s (287.8 files/s, 863.4 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Perl 1 1 0 2 Bourne Shell 1 1 0 2 ------------------------------------------------------------------------------- SUM: 2 2 0 4 -------------------------------------------------------------------------------In the next example we will print results for each file separately on each line. This can be done by the use of
--by-file
option: $ cloc --by-file my_project/ 2 text files. 2 unique files. 0 files ignored. http://cloc.sourceforge.net v 1.60 T=0.01 s (149.5 files/s, 448.6 lines/s) -------------------------------------------------------------------------------- File blank comment code -------------------------------------------------------------------------------- my_project/perl.pl 1 0 2 my_project/bash.sh 1 0 2 -------------------------------------------------------------------------------- SUM: 2 0 4 --------------------------------------------------------------------------------
cloc
can obtain count of all code lines also from a compressed file. In the next example we count code lines of entire joomla project, provided the we have already downloaded its zipped source code: $ cloc /tmp/Joomla_3.3.1-Stable-Full_Package.zip

Count lines of currently running kernel's source code ( redhat/fedora ):
$ cloc /usr/src/kernels/`uname -r`

For more information and options see
cloc
manual page man cloc