Linux 常用命令(三)

本文介绍了如何在Linux环境下直接编辑jar文件,包括使用vim编辑和打包过程,以及避免压缩错误的方法。此外,还详细讲解了批量删除文件的命令行技巧,如按特定前缀过滤、删除指定文件外的所有文件以及按时间顺序删除文件。在文件搜索方面,展示了如何在zip文件和普通文本文件中快速查找关键字。同时,提供了查找已被删除但仍在应用中使用的文件的命令。最后,提到了监控CPU运行情况的mpstat命令以及通过Maven快速下载jar包的命令。这些技巧对于Linux系统管理和日常开发工作非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、对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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值