一、对jar 文件的编辑
(1) 直接对jar 进行vim 操作
export jarName='web-1.0-SNAPSHOT'
export today=`date "+%Y%m%d"`
cp ${jarName}.jar ${jarName}.jar.${today}
vim ${jarName}.jar
#需要记得如果文件多一定要使用/ 进行搜索,直接搜索最后需要编辑文件名称
(2) 修改内容,在进行打包。这个打包切记不能使用jar -cvf 这样相当于对内容重新进行一次编译,会导致 MANIFEST.MF 中内容被覆盖,找不到main
等修改之后又会报It has been compressed and nested jar files must be stored without compression。
需要使用下面cf0M 保证原来内容不变只是重新生成一个jar而已
export jarName='web-1.0-SNAPSHOT'
export today=`date "+%Y%m%d"`
echo ${jarName}
echo ${today}
rm -rf ${jarName}-mix
unzip ${jarName}.jar -d ${jarName}-mix
cp ${jarName}.jar ${jarName}.jar.${today}
rm -rf ${jarName}.jar
cd ${jarName}-mix/
#修改jar 内容
jar cf0M ${jarName}.jar *
mv ${jarName}.jar ../${jarName}.jar
二、批量删除文件
# 过滤以null开头文件
ll null* |awk '{print $9}' | xargs -i rm -rf {}
删除除之外所有文件
#删除除之外inner之外所有所有文件
ls -A|sed 's/(.*)/1/g' | grep -v 'inner' | xargs rm -rf
按照文件(文件夹)时间正序排列,删除前50个文件
ll -tr | head -50 | awk '{print 9}' | xargs -i rm -rf {}
删除当前文件夹5分钟访问过的文件
find . -amin -5
查找多少分钟之外没有访问过的文件
# -type d (文件夹)
find . -type f -mmin +5
#删除5分钟之外没有访问过.txt 结尾的文件
find . -type f -name *.txt -mmin +5 | xargs rm -f
三、搜索文件zip/批量文件内容
(1) zip 文件
# web-2022 开头zip文件搜索keywork 关键字
zcat web-2022*.zip | grep 'keywork'
#web-2022 开头zip文件搜索keywork 关键字 及下面50 行
zcat web-2022*.zip | grep -A 50 'keywork'
#web-2022 开头zip文件搜索keywork 关键字 及上面50 行
zcat web-2022*.zip | grep -B 50 'keywork'
#web-2022 开头zip文件搜索keywork 关键字 及下面50 行,统计error: 关键字出现次数
zcat web-2022*.zip | grep -A 50 'keywork' | grep 'error:' | wc -l
(2) 普通文本 文件
# 当前目录下面所有文件包含keywork 这个关键字的
grep -r 'keywork' *
# 当前目录下面2022开头文件包含keywork 这个关键字的
grep -r 'keywork' 2022*
四、搜索已经被删除但因为句柄还在应用把持的文件(导致被删除内容还没有被释放)
lsof -n | grep deleted
# 搜索/temp/ 被删除的文件这样搜索会快很多
lsof -n /temp/ | grep deleted
五、查询多个cpu 的运行具体信息
因为我们很多时候看cpu 运行不高,但可能某个cpu 高,但平均下来cpu 并不高
mpstat -P ALL
六、直接使用某个命令maven 下载某个jar
mvn dependency:get -DremoteRepositories=http://maven.aliyun.com/nexus/content/groups/public -DgroupId=org.codehaus.groovy -DartifactId=groovy -Dversion=2.4.15 -Dclassifier=indy