文章目录
楔子
学习记录笔记,能力有限,希望不要误导大家
1 xargs
1.1 查找拷贝文件|查找解压文件
注意 使用-n -f 即可
查找输出|-n参数指定每次将多少项,作为命令行参数。
find -type f -name "*.gz"|xargs -n 1
查找拷贝到 当前文件夹tt目录中|如果xargs要将命令行参数传给多个命令,可以使用-I参数 |如下 把fs作为了参数
find -type f -name "*.gz"|xargs -n 1 -I fs cp fs tt/
查找解压
find /opt/tar/ -name "*.gz" |xargs -n 1 tar xzvf
-n -f 参数解释
可以参考 阮一峰 xargs 命令教程
- n:-n参数指定每次将多少项,作为命令行参数。
- I :如果xargs要将命令行参数传给多个命令,可以使用-I参数。-I指定每一项命令行参数的替代字符串。
复制创建文件夹
--拷贝文件到日期目录
echo 202004{07..10}|xargs -n 1|xargs -I ID sh -c 'cp *_日报_ID.xlsx ID/'
-- 复制
echo {13..17}|xargs -n 1|xargs -I ID sh -c 'cp 日报_20200410.xlsx 日报_202004ID.xlsx'
-- 新建文件夹
mkdir 202004{13..17}
3 文件重命名
3.2 替换为日期文件
从命名文件|加上年月日
ls | xargs -I ID sh -c 'mv ID `date +%F`-ID'
批量杀死进程
ps -ef |grep ffmpeg |grep -v 'auto'|awk '{print $2}'|xargs -n 1 kill -9
find查找并删除
#删除30天前的目录
find /app/logs/ -type d -mtime +30 |xargs rm -rf
#删除/app/logs/目录下的7天前的文件
find /app/logs/ -type f -mtime +7 | xargs rm -f
# 搭配反括号使用
rm -f `find /app/logs/ -type f -mtime +7`
# +100M:表示大于100M
find /app/logs/ -type f -size +100M | xargs rm -rf
date
-F 输出长格式字符年月日
date +%F --> 2017-08-02
-y 输出短格式字符
date +%y-%m-%d -->17-08-02
-H-M-S: 输出时分秒
date +%y-%m-%d\ %H-%M-%S -->17-08-02 21-16-14
date +%y-%m-%d\ %H:%M:%S -->17-08-02 21:16:14
-h 输出月份
-T: 直接时分秒
date +%F\ %T --> 2017-08-02 21:18:14
-w: 显示今天星期几
date +%w 星期三
-d: 提前/推迟显示天数
date +%F -d "-1day" 2017-08-01
date +%F 2017-08-02
date +%F -d "+1day" 2017-08-03
date +%F\ %H:%M:%S -d "+2hour 2min 2sec" 2017-08-02 23:40:49 -->提前2小时2分2秒
date +%F\ %H:%M:%S 2017-08-02 21:38:47
date +%F\ %H:%M:%S -d "-2hour -2min -2sec" 2017-08-02 19:36:45 -->推迟2小时2分2秒
找出最大的10个文件
find . -type f -exec du -k {} \; | sort -nrk 1 | head
linux获取精准进程PID之pgrep命令
pgrep java