在处理不同的项目时,有时您可能需要提供进度报告或统计数据,或者只是计算代码的价值。
有一个简单但功能强大的工具,称为“ cloc - 计算代码行数”,它允许您计算所有代码的数量并同时排除注释和空行。
它适用于所有主要的 Linux 发行版,支持多种编程语言和文件扩展名,并且没有任何特定的使用要求。
在本教程中,您将学习如何在 Linux 系统上安装和使用cloc 。
如何在 Linux 系统中安装和使用 Cloc
安装cloc非常简单。下面您可以看到如何在不同的操作系统中安装 cloc 及其相关的包管理器:
$ sudo apt install cloc # Debian、Ubuntu $ sudo yum install cloc # 红帽、Fedora $ sudo dnf install cloc # Fedora 22 或更高版本 $ sudo pacman -S cloc # Arch $ sudo emerge -av dev-util/cloc # Gentoo https://packages.gentoo.org/packages/dev-util/cloc $ sudo apk add cloc # Alpine Linux $ sudo pkg install cloc # FreeBSD $ sudo port install cloc # 带 MacPorts 的 Mac OS X $brew install cloc # Mac OS X 与 Homebrew $ npm install -g cloc # https://www.npmjs.com/package/cloc
Cloc可用于计算特定文件或目录中多个文件的行数。要使用cloc,只需键入cloc,然后输入您要检查的文件或目录。
这是 bash 中文件的示例。有问题的文件在 bash 中包含以下代码:
$ 猫 bash_script.sh
![](https://www.alaica.com/wp-content/uploads/linux-384.png)
现在让我们运行 cloc 吧。
$ cloc bash_script.sh
![](https://www.alaica.com/wp-content/uploads/linux-385.png)
正如您所看到的,它计算了文件数、空行数、注释数和代码行数。
cloc的另一个很酷的功能是它甚至可以用于压缩文件。例如,我下载了最新的 WordPress 存档并在其上运行cloc。
$ cloc 最新.tar.gz
结果如下:
![](https://www.alaica.com/wp-content/uploads/linux-386.png)
您可以看到它识别不同类型的代码并区分每种语言的统计信息。
如果您需要获取目录中多个文件的报告,您可以使用“--by-file”
选项,它将计算每个文件中的行数并为它们提供报告。对于具有许多文件和数千行代码的项目,这可能需要一段时间。
语法如下:
$ cloc --by-file <目录>
![](https://www.alaica.com/wp-content/uploads/linux-387.png)
虽然cloc的帮助很容易阅读和理解,但我将包含一些可与cloc一起使用的额外选项,某些用户可能会觉得有用。
--diff <set1> <set2>
– 计算set1和set2源文件之间的代码差异。输入可以是文件和目录的混合。--git
– 如果输入没有首先被识别为文件或目录名,则强制输入被识别为 git 目标。--ignore-whitespace
– 将文件与 .txt 进行比较时忽略水平空白--diff
。--max-file-size=<MB>
– 如果您想跳过大于给定数量 MB 的文件。--exclude-dir=<dir1>,<dir2>
– 排除给定的逗号分隔目录。--exclude-ext=<ext1>,<ext2>
– 排除给定的文件扩展名。--csv
– 将结果导出为 CSV 文件格式。--csv-delimiter=<C>
– 使用字符<C>
作为分隔符。--out=<file>
– 将结果保存到<file>
.--quiet
– 抑制所有信息消息并仅显示最终报告。--sql=<file>
– 将结果写入可由数据库程序(例如 SQLite)读取的 create 和 insert 语句。
结论
Cloc是一个小有用的实用程序,绝对值得您拥有。虽然它可能不会每天使用,但当您必须生成一些报告或者您只是好奇您的项目进展如何时,它可以为您提供帮助。