OnWorks favicon

sloccount - Online in the Cloud

Run sloccount in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command sloccount that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



sloccount - count source lines of code (SLOC)


sloccount [--version] [--cached] [--append] [ --datadir directory ] [--follow]
[--duplicates] [--crossdups] [--autogen] [--multiproject] [--filecount] [--wide]
[--details] [ --effort F E ] [ --schedule F E ] [ --personcost cost ] [ --overhead
overhead ] [ --addlang language ] [ --addlangall ] [--] directories


sloccount counts the physical source lines of code (SLOC) contained in descendants of the
specified set of directories. It automatically determines which files are source code
files, and it automatically determines the computer language used in each file. By
default it summarizes the SLOC results and presents various estimates (such as effort and
cost to develop), but its output can be controlled by various options.

If you give sloccount a list of two or more directories, the counts will be broken up
according to that list. There is one important limitation: the basenames of the
directories given as parameters must be different, because those names are used to group
summary information. Thus, you can't run "sloccount /usr/src/hello /usr/local/src/hello".
This limitation only applies to parameters of sloccount - subdirectories descended from
the top directories can have the same basename.

If you give sloccount only a single directory, sloccount tries to automatically find a
reasonable breakdown for purposes of reporting (so it'll produce a useful report). In
this case, if the directory has at least two subdirectories, then those subdirectories
will be used as the breakdown. If the single directory contains files as well as
directories (or if you give sloccount some files as parameters), those files will be
assigned to the directory "top_dir" so you can tell them apart from other contents.
Finally, if there's a subdirectory named "src", then that subdirectory is again broken
down, with all the further subdirectories prefixed with "src_". Thus, if directory "X"
has a subdirectory "src", which contains subdirectory "modules", sloccount will report a
separate count for "src_modules".

sloccount normally considers all descendants of these directories, though unless told
otherwise it ignores symbolic links.

sloccount is the usual front-end of the package of tools named "SLOCCount". Note that the
name of the entire package has capital letters, while the name of this front-end program
does not.

sloccount will normally report estimates of schedule time, effort, and cost, and for
single projects it also estimates the average number of active developers. These are
merely estimates, not etched in stone; you can modify the parameters used to improve the


--version Report the version number of SLOCCount and immediately exit. This option
can't be usefully combined with any other option.

--cached Do not recalculate; instead, use cached results from a previous execution.
Without the --cached or --append option, sloccount automatically removes the
data directory and recreates it.

--append Do not remove previous calculations from the data directory; instead, add the
analysis to the current contents of the data directory.

--datadir directory
Store or use cached data in the given data directory; default value is

--follow Follow symbolic links.

Count all duplicates. Normally, if files have equal content (as determined
using MD5 hash values), only one is counted.

--crossdups Count duplicates if they occur in different portions of the breakdown. Thus,
if the top directory contains many different projects, and you want the
duplicates in different projects to count in each project, choose this option.

--autogen Count source code files that appear to be automatically generated. Normally
these are excluded.

The different directories represent different projects; otherwise, it's
assumed that all of the source code belongs to a single project. This doesn't
change the total number of files or SLOC values, but it does affect the effort
and schedule estimates. Given this option, effort is computed separately for
each project (and then summed), and the schedule is the estimated schedule of
the largest project.

--filecount Display counts of files instead of SLOC.

--wide Display in the "wide" (tab-separated) format.

--details Display details, that is, results for every source code file.

--effort F E
Change the factor and exponent for the effort model. Effort (in person-
months) is computed as F*(SLOC/1000)^E.

--schedule F E
Change the factor and exponent for the schedule model. Schedule (in months)
is computed as F*(effort)^E.

--personcost cost
Change the average annual salary to cost.

--overhead overhead
Change the overhead value to overhead. Estimated cost is computed as effort *
personcost * overhead.

--addlang language
Add a language not considered by default to be a ``language'' to be reported.
Currently the only legal values for language are "makefile", "sql", and
"html". These files are not normally included in the SLOC counts, although
their SLOCs are internally calculated and they are shown in the file counts.
If you want to include more than one such language, do it by passing --addlang
more than once, e.g., --addlang makefile --addlang sql.

Add all languages not normally included in final reports.


As with many other programs using Unix-like options, directories whose names begin with a
dash (``-'') can be misinterpreted as options. If the directories to be analyzed might
begin with a dash, use the double-dash (``- -'') to indicate the end of the option list
before listing the directories.

Use sloccount online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • 2
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Download libusb
  • 3
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    Download SWIG
  • 4
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Next JS, Webpack, Babel, Node, and
    Express, using GraphQL and Apollo
    Client. WooCommerce Store in React(
    contains: Products...
    Download WooCommerce Nextjs React Theme
  • 5
    Package repo for ArchLabs This is an
    application that can also be fetched
    It has been hosted in OnWorks in...
    Download archlabs_repo
  • 6
    Zephyr Project
    Zephyr Project
    The Zephyr Project is a new generation
    real-time operating system (RTOS) that
    supports multiple hardware
    architectures. It is based on a
    small-footprint kernel...
    Download Zephyr Project
  • More »

Linux commands