常用命令备份
sudo -u www jmap -dump:live,format=b,file=/home/www/gatewaydump0914 14464
sudo /usr/sbin/tcpdump -XvvennSs 0 -i eth0 host 192.168.1.1 and port 80 -w ./c.cap
pmap pid
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
du -h --max-depth=2
unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
1.查看系统tcp连接中各个状态的连接数。
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
2.查看和本机23端口建立连接并状态在established的所有ip
netstat -an |grep 23 |grep ESTA |awk '{print$5 "\n"}' |awk 'BEGIN {FS=":"} {print $1 "\n"}' |sort |uniq
3.输出每个ip的连接数,以及总的各个状态的连接数。
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'
grep -nr "200" *
查找当前文件夹内(递归)所有包含200的文本文件得到的结果如下:
main/java/io/swagger/client/ApiClient.java:352: * -02 (same with -0200)
main/java/io/swagger/client/ApiClient.java:353: * -0200
将本文件夹中的所有文件中的第1,2行中的第一个443 ssl;直接替换成443 http2 ssl;,实时保存,并且不备份。
sudo sed -i "1,2s/443 ssl;/443 http2 ssl;/" *
1,2表示第1,2行
-i直接操作文件
-s替换
*所有文件
如果是全局都替换,可以写成"s/abc/abcd/g"
在字符替换中,可能会遇见引号,“/”等的替换,这时应该注意,sed的命令原型是:
sed -i "s/oldstring/goalstring/g" file
如果一个路径是data/path/abc,现在要将此路径换成一个字符串cde
但是这时跟在s后边的其实是分隔符,用以将oldstring替换成cde;他可以使用任意字符,这时如果字符串中有“/”,就会发生混乱,在这个时候可以用#当做分隔符,就变成
sed -i "s#abc#cde#g" file
这时如果abc中包含“/”就可以随便替换了;
引号的替换:
需要将引号转义,使用反斜杠“\”,比如替换" ' 'div' ' ",如果需要将它替换成‘div' ;可以使用sed -i s#\"\'\'#\'#g就能替换了。
删除提交的最后一条git commit
git reset --hard HEAD~1
git push --force
git 强制覆盖本地
git fetch --all git reset --hard origin/master
openssl s_client -tls1 -connect ocrapi-demo.taobao.com:443 -servername ocrapi-demo.taobao.com
证书是否过期
echo | openssl s_client -servername api.link.aliyun.com -connect api.link.aliyun.com:443 2>/dev/null | openssl x509 -noout -dates
ssh-copy-id root@47.0.121.0
if ($appname ~* \-abc.com$) {
return 403 "forbidden\n";
}
不允许以-abc.com结尾的host访问
50 3 * * * root find /home/logs/ /home/tomcat/logs/ -regextype posix-extended -regex ".*[0-9]|.*[0-9].log|.*[0-9].gz|.*20.*gz|.*[0-9].[A-Za-z]*.log" -type f -mtime +2 -exec rm -f {} \; >/dev
sudo curl -X OPTIONS -H "Access-Control-Request-Method:POST" -H "Access-Control-Request-Headers:X-CUSTOM-HEADER" -H "ABC:EFC" http://ec12ac094e734544be02c928366b7b26-cn-qingdao.alicloudapi.com/FDSF -i
HTTP/1.1 200 OK
Server: Tengine
Date: Thu, 23 Aug 2018 13:48:57 GMT
Content-Type: application/json;charset=ISO-8859-1
Content-Length: 519
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH
Access-Control-Allow-Headers: X-Requested-With,X-Sequence,X-Ca-Key,X-Ca-Secret,X-Ca-Version,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-API-Key,X-Ca-Stage,X-Ca-Client-DeviceId,X-Ca-Client-AppId,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Forwarded-For,X-Ca-Date,X-Ca-Request-Mode,Authorization,Content-Type,Accept,Accept-Ranges,Cache-Control,Range,Content-MD5
Access-Control-Max-Age: 172800
X-Ca-Request-Id: C4EEA0C0-4382-47EE-8868-78781CF372B2
{"Headers":{"access-control-request-headers":"X-CUSTOM-HEADER","connection":"Keep-Alive","abc":"EFC","host":"apigateway-backend.alicloudapi.com:8080","x-forwarded-for":"30.27.80.102","access-control-request-method":"POST","accept":"*/*","ca-host":"ec12ac094e734544be02c928366b7b26-cn-qingdao.alicloudapi.com","user-agent":"curl/7.54.0","x-ca-api-gateway":"C4EEA0C0-4382-47EE-8868-78781CF372B2","x-forwarded-proto":"http"},"Body":"","Params":{},"RequestURL":"http://apigateway-backend.alicloudapi.com:8080/web/cloudapi"}
curl -v 打印所有详细信息,包括请求
-s silent 啥也不打印,静音模式
-i 显示头信息
--data-urlencode 对body体进行urlencode,7.18.0版加入
curl --trace output.txt www.baidu.com 还有抓包信息
1、下载两个jar包:bcprov-ext-jdk15on-1.52.jar 和bcprov-jdk15on-1.52.jar,然后将这两个jar包放到$JAVA_HOME$/jre/lib/ext 下,
2、再编辑$JAVA_HOME$/jre/lib/security/java.security 文件。
在 security.provider.9 下面加上这句
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
shell 字符串截取
v='http://www.aliyun.com/apigateway/createapi'
echo ${v0-3}
结果是api
echo ${v7:3}
结果是www
v:变量
0-3:算数表达式,值大于0从左边开始,值小于零从右边开始,比如现在是-3,那么从右边3个字符开始
3:截取的字符串个数,不填一直截取到末尾
echo ${v##*/}
createapi
echo ${v#*/}
/www.aliyun.com/apigateway/createapi
echo ${v%/*}
http://www.aliyun.com/apigateway
echo ${v%%/*}
http:
##:取从右边开始,遇到的第一个/字符的以右的所有字符
#:取从左边开始,遇到的第一个/字符的以右的所有字符
%:取从右边开始,遇到的第一个/字符的以左的所有字符
%%:取从左边开始,遇到的第一个/字符的以左的所有字符
docker exec -ti $(docker ps | sed -n '2p' | awk '{print $1}') /bin/bash