短脚本
规划内容:自用10行内短脚本收集
状态: 持续更新
【bash】查询端口占用进程
lsof -i<portNumber>
【bash】重新定义rm为移动(为了减少误操作)
function rm_func {
mv $* ~/.myTrash
}
alias rm='rm_func'
# 同时还想偶尔用一下rm的话,可以换个名字建一个指向真正rm程序的软链接。
【nodejs】死循环定位
node --prof *.js # 死循环后强行终止,会产生名称为 isolate-*-v8.log 的文件
node --prof-process isolate-*-v8.log # 会产生一份方法执行报表,其中ticks数量飙高的基本就是死循环的位置
【bash】删除文件尾部换行
perl -pi -e 'chomp if eof' <file>
perl -pi 'chomp if eof' <sourceFile> > <destinationFile>
【linux】iptables IP屏蔽速配
iptables -I INPUT -s <ip> -j DROP
iptables -D INPUT -s <ip> -j DROP
【bash】netcat简易网络传输
发送端:nc <host> <port> < <input_file>
接收端:nc -l <port> > <output_file>
【bash】查找目录下该前缀的所有包名
grep -hro 'path\.of\.package\.prefix\.[a-zA-Z0-9.]*' . | sort -u
【bash】查看系统消息缓存(如排查oom被杀情况)
dmesg | grep java
【bash】MD5-base64
echo -n '<content>' | md5sum | xxd -r -ps | openssl base64
【vim】删除第一列重复的行
%g/^\([0-9]\+\),.*\n\1,/+2d (,分隔;每两行删除第二行)
%s/^\(\([0-9]\+\),.*\)\(\n\2,.*\)\+/\1/ (,分隔;多行仅保留第一行)
:g/^\(.*\)\ze\n\%(.*\n\)*\1$/d (无分隔;不用排序;多行仅保留最后一行;自测\ze非必要)
【vim】逆序(行)
:g/^/m0
【openssl】rsa私钥转公钥
ssh-keygen -y -f <filename>
【node】ng 内存不足解决办法
node --max_old_space_size=4096 `which ng` other args
【docker】查看docker镜像的内容
docker run -it --entrypoint sh imageId
【mvn】部署到仓库
mvn deploy -Dmaven.test.skip=true -DaltDeploymentRepository=<repoName>::default::http://<user>:<passwd>@<host>/<path>