(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
网友评论