Linux 系统最有效率的使用方式是通过各种终端命令来完成一些常用操作。本文收集了一些常用的批量操作命令示例,这些命令能让一些依赖于人工重复操作的琐碎工作完成的更加高效。
为了便于理解,下面会以具体的用途为示例来展示命令用法,但其结构可以举一反三,实现更多可能。所以不要被以下命令示例索局限了思维。
首先来个最常见的操作,批量修改文件名。下面这个命令是把当前目录下所有大写的 PNG 后缀名称批量改为小写:
rename .PNG .png ./*
记得上面提到的举一反三,只要是属于文件名中的字符,都可以批量做修改。
接下来是一个对我来说更加实用的命令。我在写一些教程类型的文章时,经常会用到系统截图功能。生成的图片格式通常为 PNG。在使用前,我通常需要把它们转换为 JPG 格式。完成这个需求的批量操作命令如下:
ls ./*.PNG|xargs -n 1 bash -c 'convert $0 ${0%.PNG}.jpg'
借助于 convert
命令的功能,转换的时候还可以顺便调整一下图片尺寸:
ls ./*.PNG|xargs -n 1 bash -c 'convert -resize 800x800 $0 ${0%.PNG}.jpg'
再来个批量下载的命令:
cat urls.txt | xargs wget -c
这个命令依赖于 urls.txt 文件,首先需要把需要下载的文件地址保存到这个文件,每行一条,然后再运行这个命令。
最后是批量结束程序进程的命令,比如我要结束所有运行中的 php-fpm
进程:
ps aux|grep php-fpm|grep -v grep|awk '{print $2}'|xargs kill -9