美文网首页
几个有用的shell命令

几个有用的shell命令

作者: 欧阳_z | 来源:发表于2020-08-28 21:31 被阅读0次

    (1)统计代码量
    平时统计代码量可能只是用 wc -l 粗略的统计一下,但是不方便判断真实代码量有多少。

    $ find . -name "*.c"|xargs wc -l|awk 'END {print}'
     174779 total
    

    cloc 工具会统计出更具体的数据:

    $ cloc .
         405 text files.
         402 unique files.                                          
         118 files ignored.
    
    http://cloc.sourceforge.net v 1.60  T=1.80 s (177.6 files/s, 106497.2 lines/s)
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    C                              203          44054           4557         126168
    C/C++ Header                   100           4017            848           8085
    vim script                       4            143            245           1896
    make                             2            279              0            985
    Perl                             4             71             51            159
    SKILL                            3             24              0             99
    Bourne Shell                     1             32              3             81
    HTML                             2              2              0             44
    C++                              1              8              3             18
    -------------------------------------------------------------------------------
    SUM:                           320          48630           5707         137535
    -------------------------------------------------------------------------------
    

    统计出了空行、注释、代码分别是多少行,把这 3 个数相加,正好等于之前用 wc -l 统计的行数:

    $ expr 44054 + 4557 + 126168
    174779
    

    安装也很方便:

    $ sudo apt-get install cloc
    

    可以用 --exclude-dir 选项排除一些目录:

    $ cloc --exclude-dir="html,conf" .
    

    (2)彻底删除文件
    平时删除文件通常是用 rm -rf ,但仍然有可能被恢复。如果想让它不可恢复,就要先打乱文件的内容。
    可以使用 shred 命令破坏文件的内容,例如:

    $ shred test.txt 
    

    效果是文件依旧存在,但不再是原来的文件了,

    如果想同时删除文件(相当于粉碎文件),加上参数 -u

    $ shred –u test.txt
    

    结合find命令可以这样使用:

    find . -type f -print |xargs -I {} shred {}
    find . -type f -print |xargs -I {} shred -u {}
    

    (3)用 tee 命令记录编译日志

    make 2>&1 | tee build.log
    

    (4)打印文件的某几行
    从第 2 行开始,共打印 3行:

    $ cat 1.txt | tail -n +2 | head -n 3
    

    grep-C 可以打印匹配行的周围的行,匹配1行加上前一行和后一行,打印出3行:

    grep abc -C 1 1.txt
    

    (5)git%h 是简短哈希字串大约7位,可以用这个作为版本号,用宏定义编译进程序。

    git log -1 --pretty="%h"
    

    (6)查询 ascii 不需要浏览器,直接用 man 命令即可
    man ascii

    相关文章

      网友评论

          本文标题:几个有用的shell命令

          本文链接:https://www.haomeiwen.com/subject/agersktx.html