文件拷贝类
1、移动某类文件到指定目录,例如移动log结尾的文件到/tmp/目录
find ./ -type f -name '*log' -exec mv {} /tmp/ \;
2、查找当前目录 30 天以前大于 100M 的 log 文件并删除。
find . -name "*.log" –mtime +30 –typef –size +100M | xargs rm –rf {};
3、查找最后创建时间是 3 天前,后缀是 *.log 的文件并删除。
find . -mtime +3 -name "*.log" | xargs rm -rf {};
批量杀进程
ps -ef| grep keepalived | grep -v grep | awk '{print $2}' | xargs kill -9
shell脚本类
1、批量解压当前目录下以 .zip 结尾的所有文件到指定目录。
for i in `find . -name "*.log" -type f`
do
echo ${i}
done
或
for i in `find . -name "*.log" -type f`; do echo ${i}; done
注解:for i in (command);do … done 为 for 循环的一个常用格式,其中i为变量,可以自己指定。
2、如何判断某个目录是否存在,不存在则新建,存在则打印信息。
if [ ! -d /data/backup/ ];then
mkdir -p /data/backup/
else
echo "目录已存在"
fi
或
if [ ! -d /data/backup/ ];then mkdir -p /data/backup/; else echo "目录已存在"; fi
-d 代表目录