Linux命令干货分享

Posted 骨灰级猫腻哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令干货分享相关的知识,希望对你有一定的参考价值。

1.显示目录下占用最多的前n个文件或者目录
du -ak /data/logs | sort -nrk 1 | head -5 
上面这个单行脚本的缺点在于它在结果中包含了目录。如果我们只是需要找出最大的文件而不是目录,
可以按照下面的方法改进脚本,使它只输出最大的文件。
find /data/logs -type f -exec du -k {} \; | sort -nrk 1 | head -5;
 2.批量删除目录下指定的文件
find . -type f -name "*.txt" -print | xargs rm -f 
这样做很危险。很多文件名中都可能会包含空格符(' '),
因此xargs很可能会误认为它们是定界符(例如,hell text.txt会被xargs误解为hell和text.txt)。
只要我们把find的输出作为xargs的输入,就必须将 -print0与find结合使用,以字符null('\0')来分隔输出。
find . -type f -name "*.txt" -print0 | xargs -0 rm -f 
3.批量重命名文件
count=1;
for img in `find . -iname '*.png' -o -iname '*.jpg' -type f -maxdepth 1`
do
new=image-$count.${img##*.}
echo "Renaming $img to $new"mv "$img" "$new"
let count++
Done 

该脚本将当前目录下所有的.jpg和.png文件重命名,
新文件名的格式为image-1.jpg、image-2.jpg、image-3.jpg、image-4.png等。${img##*.}获取文件名称的后缀。
4.分割文件和数据
split -b 50k test.log
结果:xaa  xab  xac  xad
上面的命令将test.log分割成多个文件,每一个文件大小为10KB。
这些文件以xab、xac、xad的形式命名。这表明它们都有一个字母后缀。
如果想以数字为后缀,可以另外使用-d参数。此外,使用 -a length可以指定后缀长度:
$ split -b 10k test.log -d -a 4 prefix

除了k(KB)后缀,还可以使用M(MB)、G(GB)、c(byte)、w(word)等后缀。

prefix表示文件前缀。
$ split -l 10 test.log# 
分割成多个文件,每个文件包含10行

以上是关于Linux命令干货分享的主要内容,如果未能解决你的问题,请参考以下文章

干货分享 | 在 Linux 命令行中使用 tcpdump 抓包

软件测试干货分享:面试必问的 Linux 命令帮你整理好啦

Linux 服务器日常巡检脚本分享 #yyds干货盘点#

干货分享BC-Linux系统调优 - 虚拟化实时性提升

软件测试超实用干货分享!(建议收藏保存)

源码时代前端干货分享|swoole开启后无法访问问题