首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

wc 统计已过时,cloc 每一行代码都有效

上下文 我们通常用代码量来评判一个程序员技术的高低或一个项目的大小,阅读新项目源码时,也需要了解其代码量,心里有个预期。 那如何统计代码量呢? 传统做法 通过find+wc命令完成 $ find ....我们应该尝试更有效的统计方式。 有效统计 cloc cloc(Count Lines of Code[0]) 是一个 Perl 语言开发的开源代码统计工具。...支持多平台、多语言、分类别的统计目标文件或文件夹中源代码的文件数、空白行数、注释行数和代码行数。 安装 支持多种安装方式,几乎包含常用的所有安装方式。...cloc 具有易于使用、可扩展和可移植的特性: 安装方便,只需下载文件包运行即可。 支持分类别统计多种语言:Java、Go、Python、C 等。...基本使用 $ cloc ./ # 可统计目录 $ cloc perl-5.22.0.tar.gz # 也可直接统计压缩包 对于前端同学,统计代码往往需要忽略最大的 node_modules 以及打包生成的

41740

如何使用.gitignore忽略Git中的文件和目录

在本教程中,我们将说明如何使用.gitignore忽略Git中的文件和目录。包括常见匹配模式*星号,斜杠/,#井号注释,?...如果模式不是以斜杠开头,则它将匹配任何目录或子目录中的文件和目录。 如果模式以斜杠结尾,则仅匹配目录。当目录被忽略时,其所有文件和子目录也将被忽略。 文件名 最直接的模式是没有任何特殊字符的文件名。...方括号 [...]方括号匹配方括号中包含的字符。当两个字符之间用连字符-隔开时,表示一个字符范围。该范围包括这两个字符之间的所有字符。范围可以是字母或数字。如果[之后的第一个字符是感叹号(!)...例如,要检查为什么忽略www/yarn.lock文件,可以运行: git check-ignore -v www/yarn.lock 输出显示gitignore文件的路径,匹配行的编号和实际模式。...显示所有被忽略的文件 带有--ignored选项的git status命令显示所有被忽略文件的列表: git status --ignored 结论 .gitignore文件使你可以从git仓库中排除文件

9.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    可视化代码架构反模式

    2.JPG 原作者把这种单一目录下存在诸多并列的小文件的情形表述成“蒲公英”。在这个testlink的项目中,这个php目录下存放数十个大小不一的文件,但是以小文件居多。 ?...虽然也是在一个目录下有许多并列的文件或者子目录及文件,但是它们数量没有多到围绕根结点一圈成为一个圆形,而是散开呈现半圆形,也就是鸡冠花的形状。 ? 12.JPG 5 琼花式 ?...1.JPG 这是前面蒲公英和鸡冠花的集合体。笔者一开始认为这是类似绣球花的图形,但就这种图形请教了花卉爱好者后,对方认为这更像是琼花的:中间是两性小花,然后周边是巨大的萼片发育而成的不孕花。...8.JPG 这是笔者暂时命名的一种模式,从根节点开始,每个目录下带有若干个文件,以及目录,像五针松一样一节节展开。...因此,笔者找了一个设计良好的JAVA项目,这是其源码和测试代码的图形,两者看起来很相似,说明这个代码库有着很好的单元测试覆盖。 如何自己动手做一个?

    67020

    【Linux系统编程】基础指令(一)

    -c 或–no-create 不建立任何文档。 -d 使用指定的日期时间,而非现在的时间。 -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。...接下来我们就要学习下一个指令ls指令来查看; 2. ls 指令 语法: ls [选项][目录或文件] 功能: 对于目录,该命令列出该目录下的所有子目录与文件; 对于文件,将列出文件名以及其他信息...; 常用选项: -a 列出目录下的所有文件,包括以 ....,如何找到目录下最大的文件) -R 列出所有子目录下的文件;(递归) -1 一行只输出一个文件; 例如: ls 这里我们就通过ls指令查看到了我们之前使用touch指令创建的test.txt文件;...开头的隐含文件, 我们看到之前ls选项只列出了test.txt文件,但ls -a指令将所有以 .

    12210

    轻松驾驭Linux命令:账户查看、目录文件操作详解

    目录或文件] ls -a **功能:**对于目录,该命令列出该目录下的所有子目录与文件。...对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -d 将目录象文件一样显示,而不是显示其下的文件。...-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) -R 列出所有子目录下的文件。 (递归) -1 一行只输出一个文件。...:创建多个文件 功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。...-c 或–no-create 不建立任何文档。 -d 使用指定的日期时间,而非现在的时间。 -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

    19210

    GIT 基本概念以及常用命令

    此时,可以运行带有 --amend 选项的提交命令来重新提交: git commit --amend 例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作: $ git commit -m...比如 TODO 会忽略 Git 仓库中所有目录下的 TODO 文件,但如果只希望 Git 忽略当前目录下的 TODO 文件,而不要忽略其它目录下的 TODO 文件,则应该写成这样: /TODO 使用 /... 放在文件名的末尾表明这个文件是一个目录,Git 将会忽略这个目录下的所有文件。...lib.a # 仅仅忽略当前目录下的 TODO 文件 /TODO # 忽略 build 目录下的所有文件 build/ # 仅仅忽略 doc 一个目录下的所有 .txt 文件 doc/*.txt...# 忽略 doc 目录下(包括子目录)的所有 .pdf 文件 doc/**/*.pdf 移除文件 最常见的情况是,在 .gitignore 文件中未列出对应的文件,有时为了贪求效率,使用 git add

    45520

    【Hexo】自定义 Hexo 配置文件

    # 包括 'source/css/_typing.css' - "css/_typing.css" # 包括 'source/_css/' 中的任何文件,但不包括子目录及其其中的文件。...- "_css/*" # 包含 'source/_css/' 中的任何文件和子目录下的任何文件 - "_css/**/*" exclude: # 不包括 'source/js/test.js...' - "js/test.js" # 不包括 'source/js/' 中的文件、但包括子目录下的所有目录和文件 - "js/*" # 不包括 'source/js/' 中的文件和子目录下的任何文件...- "js/**/*" # 不包括 'source/js/' 目录下的所有文件名以 'test' 开头的文件,但包括其它文件和子目录下的单文件 - "js/test*" # 不包括 '...source/js/' 及其子目录中任何以 'test' 开头的文件 - "js/**/test*" # 不要用 exclude 来忽略 'source/_posts/' 中的文件。

    1.2K11

    个人博客建设——Hexo的_config.yml配置参数注释

    - ".nojekyll" # 包括 'source/css/_typing.css' # - "css/_typing.css" # 包括 'source/_css/' 中的任何文件,但不包括子目录及其其中的文件...# - "_css/*" # 包含 'source/_css/' 中的任何文件和子目录下的任何文件 # - "_css/**/*" #exclude: # 不包括 'source/js/test.js...' # - "js/test.js" # 不包括 'source/js/' 中的文件、但包括子目录下的所有目录和文件 #- "js/*" # 不包括 'source/js/' 中的文件和子目录下的任何文件...#- "js/**/*" # 不包括 'source/js/' 目录下的所有文件名以 'test' 开头的文件,但包括其它文件和子目录下的单文件 #- "js/test*" # 不包括...'source/js/' 及其子目录中任何以 'test' 开头的文件 #- "js/**/test*" # 不要用 exclude 来忽略 'source/_posts/' 中的文件。

    58020

    Nginx目录详解

    另外,conf目录下可能还有一个sites-available和sites-enabled(或类似命名的)子目录,用于存放和启用特定的网站或应用配置。...这些日志文件通常包含了关于 Nginx 服务器如何处理请求、连接状态以及任何可能发生的错误的重要信息。...重新加载配置:如果修改了Nginx的配置文件,可以使用带有-s reload参数的nginx命令来重新加载配置,而无需重启Nginx。...检查配置文件:使用带有-t参数的nginx命令来检查Nginx的配置文件是否有语法错误。例如:/usr/local/nginx/sbin/nginx -t。...管理Nginx进程:你可以使用Linux系统的进程管理工具(如ps、kill等)来查看和管理Nginx的进程。例如,使用ps -ef | grep nginx命令可以查看正在运行的Nginx进程。

    1.7K10

    Git 和 GitHub:从入门到实践2 Git 和 GitHub 基础配置

    但遗憾的是往往 GUI 客户端只能提供 Git 部分的功能,如果想要享受到 Git 自底向上强大的功能,使用命令行的方式来操作 Git 是不二之选。...我们可以在代码库的根目录或者任意子目录添加.gitignore 文件,特定目录下的.gitignore 文件使得忽略规则只在该目录及其子目录下有效。表 1 列出了常用的一些匹配模式的写法: 表 1....不以 / 开头,匹配当前目录及其子目录下所有文件 `*.o web.xml` path/ 以 / 结尾,用以只匹配目录;path 目录及其子目录和文件会被忽略;如果 path 是个文件,则不会被忽略...path 在 ignore 文件中如果前面已经定义了某个模式,但是又有一些特殊文件我们不想被忽略,我们可以用 ! 来匹配 *.jar ## 忽略所有 jar 包 !...针对已经提交代码库的文件我们又想忽略其修改的场景,将会在本系列第四篇文章中介绍。 每个目录下都可以放单独的 .gitignore 文件以控制子目录的忽略规则。

    65320

    【linux命令讲解大全】111.Linux命令大全:rmdir和diffstat的用法

    该命令从一个目录中删除一个或多个子目录,其中dirname表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。...虽然还可以用带有-r选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。...实例 将工作目录下,名为 www 的子目录删除 : rmdir www 在工作目录下的 www 目录中,删除名为 Test 的子目录。...语法 diffstat(选项)(参数) 选项 -n文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名; -p文件名长度>:与-n参数相同,但此处的文件名长度>包括了文件的路径...现在来运行刚才的命令,对文件比较的结果进行统计显示,结果如下: testfile | 2 +- #统计信息输出显示 1 file changed, 1 insertion(+),

    11110

    Python处理文件系统Os和Shutil

    通过一个能够实现与文件系统进行交互的Python程序,我们可以实现很多有趣的应用,但是大部分人并不知道如何实现这种交互。 os模块主要用于与操作系统交互,shutil模块则包含一些针对文件的操作。...”):返回一个生成器(generator),该生成器包含当前目录和所有子目录中的文件名称及路径信息;→没有完全等价的shell命令,不过ls -R 命令提供了子目录名称和子目录中的文件名称 二、更改信息...使用带有for循环的os.walk()来遍历目录及其子目录的内容通常很有用。...例如,下面的代码将打印当前工作目录的目录和子目录中的所有文件。...shutil.copy2("source_file", "destination") 在Python中复制文件和目录的方法有很多,但建议使用此命令。

    1.4K10

    【Linux】基本指令(上)

    Ctrl + q 恢复刷屏 Linux基本指令 ls指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。...对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -d 将目录象文件一样显示,而不是显示其下的文件。...-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) -R 列出所有子目录下的文件。(递归) -1 一行只输出一个文件。...文件... 功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。...-c 或--no-create 不建立任何文档。 -d 使用指定的日期时间,而非现在的时间。 -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

    11010

    Python之文件查找模块fnmatch、glob及实际案例

    在Python自动化运维开发过程中,经常会有查找各种文件的需求;那么,本文将介绍如何使用Python查找特定类型的文件,包括使用字符串匹配文件名的标准库fnmatch和glob,还会介绍遍历目录树的函数...;例如,查找某个目录及其子目录下所有的图片文件,查找某个目录及其子目录下最大的十个文件;对于这类需求,可以使用OS模块的walk函数。...或最老)的十个文件 前面案例为使用os.walk函数遍历目录并找到目录下的所有相关文件,下面再来看几个更加实际需求 1)找到某个目录及子目录下最大的十个文件; 2)找到某个目录及子目录下最老的十个文件...; 3)找到某个目录及子目录下,所有文件名中包含“mysql-bin”的文件 看到这里的需求,最简单的想就是参考前面查找图片的案例,对每一个需求提供个程序,如果是名在校大学生或者是刚毕业的应届生,问题不很大...,字典的key是找到的文件,字典的value是文件的大小构建出字典以后,使用Python内置的sorted函数对字典进行逆序排序,排序完成以后即可获取最大的十个文件,笔者在MySQL一个实例里面运行,得到的结果如下

    1.9K10

    Linux-find命令

    概述 find命令用来在指定目录下查找文件。 任何位于参数之前的字符串都将被视为欲查找的目录名。...如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。...:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录; -exec:假设find指令的回传值为True,就执行该指令; -false:将find指令的回传值皆设为...在/home目录下查找以.txt结尾的文件名 find /home -name "*.txt" 同上,但忽略大小写 find /home -iname "*.txt" 当前目录及子目录下查找所有以.../text.sh {} \; 搜索但跳出指定的目录 查找当前目录或者子目录下所有.txt文件,但是跳过子目录sk find . -path ".

    2.8K20

    【干货】手把手教你用苹果Core ML和Swift开发人脸目标识别APP

    例如,你可以用许多猫的照片来训练对象检测器,一旦训练好了你就可以输入一个待遇测的猫的图像,它会返回一个矩形列表,每个矩形中有一个猫。虽然是API,但您可以把它看作是一组用于迁移学习的方便实用的工具。...训练一个对象识别模型需要大量时间和大量的数据。对象检测中最牛的部分是它支持五种预训练的迁移学习模型。转移学习迁移学习是如何工作的?...我将在这个桶中创建一个名为/ data的子目录来放置训练和测试的TFRecord文件 ? API还需要一个pbtxt文件将标签映射成整型的ID。 由于只有一个标签,所以该文件很小: ?...训练模型需要所有的这些文件,所以需要将它们放在我的云存储桶中的同一个data/目录下。 在进行训练工作之前,还需要补充一点。...现在已经准备好所有的训练文件,我可以使用gcloud命令来开始训练。 请注意,您需要在本地拷贝一份tensorcow / models / research并在该目录下运行以下的训练脚本: ?

    14.9K60

    使用进程监视器在 Windows 中查找权限提升漏洞

    概述 这篇文章将解释如何在 Windows 上找到似乎没有人在寻找的提权漏洞,因为很容易找到一堆。在解释了如何找到它们之后,我将介绍一些可以以不同方式部分缓解问题的防御措施。...将所有部分放在一起,我们有一个特权进程,它尝试加载一个不存在的文件,因为路径是 URL 编码的。由于非特权用户可以创建此路径,因此现在变成非特权用户可以影响特权进程的情况。...例如,此软件在 C:\Qt\ 目录中查找 plugins 子目录: 为简洁起见,我将跳过一些步骤,但经过一番调查,我们发现我们可以通过在适当的目录中放置一个特殊的库来实现代码执行: 进一步研究...值得注意的是,DLL 劫持并不是我们提升权限的唯一选择。 特权进程使用的任何 用户可写文件都可能引入特权提升漏洞。例如,这是一个流行的程序,它检查用户可创建的文本文件以指导其特权自动更新机制。...我们可以简单地将C:\python27\目录中的任何文件替换为非特权用户: 允许用户指定安装目录而不设置 ACL 许多安装程序是安全的,因为从 C:\Program Files\ 继承了安全 ACL

    2K10

    liunx入门:Linux下基本指令

    这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情 Linux下基本指令 ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件...对于文件,将列出文件名以及其他信息 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文件 -d 将目录象文件一样显示,而不是显示其下的文件。...覆盖文件之前先询问用户 -r递归处理,将指定目录下的文件与子目录一并处理。...在 more 的时候,我们并没有办法向前面翻, 只能往后面看 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用 来查看一个文件的内容!...如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这 个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件) 而如果目录具有-x权限,但没有-r

    2.1K20

    Gin框架入门系列-路由与控制器及静态网站

    1.概述 路由是一个过程,指的是一个http请求,如何找到对应的处理器函数(也可以叫控制器函数),Gin框架的路由是基于httprouter包实现的。 控制器函数主要负责执行http请求-响应任务。...路径,url路径上面带有参数,参数由冒号(:)跟着一个字符串定义。...1.返回html结果的例子 func main() { // 初始化gin对象 router := gin.Default() // 首先加载templates目录下面的所有模版文件...,我们都会以多个子目录的方式来组织模版文件,上面的例子只能加载某个目录下面的模版文件,无法加载子目录的模版文件。...例子: func main() { router := gin.Default() // 加载templates目录下面的所有模版文件,包括子目录 // **/* 代表所有子目录下的所有文件

    25440
    领券