利用一些自带的命令结合输出重定向功能,可以快速实现不少简单需求。

1.使用grep检索文本中的内容。
当文本中有某一关键字时,它会将相应行的内容显示出来。例如,下面这个可用来查看CPU是否支持硬件AES。

cat /proc/cpuinfo | grep aes

grep也可以用于搜索某个文件夹下所有文件的内容,在一个代码工程中用来检索关键字来查找函数的跨代码文件调用情况时非常有用。

grep "keyword" ./directory/ -Rn

2.计算md5、base64等
如利用date作为时间,利用md5可快速产生一组16进值随机数。

date | md5sum

利用base64可以快速编码或解码base64字符串。例子如下

$ echo "Test Sentence" | base64
VGVzdCBTZW50ZW5jZQo=
$ echo "VGVzdCBTZW50ZW5jZQo=" | base64 -d
Test Sentence

3.处理日志文件
利用sort进行排序,利用uniq排除重复项。假如test.log中记录了用户ID的访问记录,则下列例子中可以筛选出哪些用户记录在了日志文件中。

cat test.log | sort | uniq

上一文章中就使用了这种方法,筛选并排序nginx的访问记录。

4.备份/还原的同时进行压缩/解压
tar有一个参数为-O,可以解压至标准输出。结合输出重定向,可以一边解压,一边写入镜像。比如树莓派的一些镜像在发布时会使用tar压缩,那么可以在解压的同时使用dd写入到sd卡,省去将文件存入硬盘的过程。

tar zxOf image.tar.gz | dd of =/dev/sdb1 bs=4K

标签: Linux

添加新评论