linux 常用

查看filename中含有abc所在行后4行内容

cat filename | grep abc -A4

查看filename中含有abc所在行前4行内容

cat filename  | grep abc  -B4

2种方法打印匹配行的前后5行

grep -5 '关键字' 文件名
grep -C 5 '关键字' 文件名




jq案例:
docker inpect xxxxx | jq ".[0].Mounts[1]"



docker java 日志:
ls -R /var/lib/docker/volumes/*/_data/*.log



docker打印的formatter

例如docker images:

docker images --format "{{.ID}} {{.Repository}} {{.Size}}"
6327bd7315cf rancher/rancher-agent 280MB
3ce97e5c7e3a rancher/hyperkube 1.05GB
89a4afe7e17e rancher/rke-tools 130MB
2b37f252629b rancher/nginx-ingress-controller 569MB
2817cb463960 rancher/kube-api-auth 149MB
eb516548c180 rancher/coredns-coredns 40.3MB
a89b45f36d5e rancher/calico-node 75.9MB
d531d047a4e2 rancher/calico-cni 75.4MB
643c21638c1c rancher/coreos-etcd 39.5MB
33813c948942 rancher/cluster-proportional-autoscaler 45.8MB
b5af743e5984 rancher/nginx-ingress-controller-defaultbackend 5.13MB
61a0c90da56e rancher/metrics-server 40.8MB
da86e6ba6ca1 rancher/pause 742kB

root@rancherm2:~# docker images --format "{{.Repository}}:{{.Tag}}"
rancher/rancher-agent:v2.2.7
rancher/hyperkube:v1.14.5-rancher1
rancher/rke-tools:v0.1.40
rancher/nginx-ingress-controller:0.21.0-rancher3
rancher/kube-api-auth:v0.1.3
rancher/coredns-coredns:1.3.1
rancher/calico-node:v3.4.0
rancher/calico-cni:v3.4.0
rancher/coreos-etcd:v3.3.10-rancher1
rancher/cluster-proportional-autoscaler:1.3.0
rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1
rancher/metrics-server:v0.3.1
rancher/pause:3.1

保存上面输出为txt

for i in `cat txt`;do docker tag $i `echo $i | sed "s#rancher#registry.cn-shanghai.aliyuncs.com/alexhjl#"`;done

这样就把rancher/pause:3.1 改成了registry.cn-shanghai.aliyuncs.com/alexhjl/pause:3.1

验证一下:

docker images --format "{{.Repository}}:{{.Tag}}"| grep regis
registry.cn-shanghai.aliyuncs.com/alexhjl/rancher-agent:v2.2.7
registry.cn-shanghai.aliyuncs.com/alexhjl/hyperkube:v1.14.5-rancher1
registry.cn-shanghai.aliyuncs.com/alexhjl/rke-tools:v0.1.40
registry.cn-shanghai.aliyuncs.com/alexhjl/nginx-ingress-controller:0.21.0-rancher3
registry.cn-shanghai.aliyuncs.com/alexhjl/kube-api-auth:v0.1.3
registry.cn-shanghai.aliyuncs.com/alexhjl/coredns-coredns:1.3.1
registry.cn-shanghai.aliyuncs.com/alexhjl/calico-node:v3.4.0
registry.cn-shanghai.aliyuncs.com/alexhjl/calico-cni:v3.4.0
registry.cn-shanghai.aliyuncs.com/alexhjl/coreos-etcd:v3.3.10-rancher1
registry.cn-shanghai.aliyuncs.com/alexhjl/cluster-proportional-autoscaler:1.3.0
registry.cn-shanghai.aliyuncs.com/alexhjl/nginx-ingress-controller-defaultbackend:1.5-rancher1
registry.cn-shanghai.aliyuncs.com/alexhjl/metrics-server:v0.3.1
registry.cn-shanghai.aliyuncs.com/alexhjl/pause:3.1

上传到阿里云:

for i in `docker images --format "{{.Repository}}:{{.Tag}}"| grep regis`;do docker push $i;done


 docker login --username=hi31790387@aliyun.com registry.cn-shanghai.aliyuncs.com 

从阿里云下载:

docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/rancher-agent:v2.2.7
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/hyperkube:v1.14.5-rancher1
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/rke-tools:v0.1.40
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/nginx-ingress-controller:0.21.0-rancher3
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/kube-api-auth:v0.1.3
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/coredns-coredns:1.3.1
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/calico-node:v3.4.0
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/calico-cni:v3.4.0
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/coreos-etcd:v3.3.10-rancher1
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/cluster-proportional-autoscaler:1.3.0
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/nginx-ingress-controller-defaultbackend:1.5-rancher1
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/metrics-server:v0.3.1
docker pull registry.cn-shanghai.aliyuncs.com/alexhjl/pause:3.1

重新打回rancher的tag

for i in `docker images --format "{{.Repository}}:{{.Tag}}"`;do docker tag $i `echo $i | sed "s#registry.cn-shanghai.aliyuncs.com/alexhjl#rancher#"`;done


 sed 更改zabbix

sed -i -e 's/Server=127.0.0.1/Server=10.10.10.80/g' -e 's/ServerActive=127.0.0.1/ServerActive=10.10.10.80/g' /etc/zabbix/zabbix_agentd.conf  && /etc/init.d/zabbix-agent restart


 ubuntu rc.local和自动挂接nfs

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

echo "
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
" >> /etc/systemd/system/rc-local.service

 echo '#!/bin/bash

mount.nfs4 10.10.10.80:/nfs /log' >>/etc/rc.local

chmod +x /etc/rc.local


批量更改boss conf

sed -i 's/10.10.10.214:5432/10.10.10.33:5432/' */*.yaml


批量查找 k8s的host

for i in `kubectl get deployments -n only-appuat|cut -d " " -f1 | grep -v NAME`;do echo ;echo;echo $i;kubectl get deployments/$i -o json -n only-appuat|jq .spec.template.spec.hostAliases;done


快速找env

 for i in `kubectl get deployments -n bossprod|cut -d " " -f1 | grep -v NAME`;do echo ;echo;echo $i;kubectl get deployments/$i -o json -n bossprod|jq .spec.template.spec.containers[].env;done


快速缩减镜像

for i in `kubectl -n bossprod get deployments| cut -d " " -f1| grep -v NAME`;do kubectl -n bossprod scale --replicas=1 deployments/$i;done


快速换镜像

for i in `kubectl -n bossprod get deployments| cut -d " " -f1| grep -v NAME`;do kubectl -n bossprod set image deployment/$i $i=ubuntu:16.04;done

for i in `kubectl -n bossprod get deployments| cut -d " " -f1| grep -v NAME`;do kubectl -n bossprod set image deployment/$i $i=ubuntu:xenial;done


查看哪些进程用了swap:

grep VmSwap /proc/*/status| sort -k2 -n

原文地址:https://www.cnblogs.com/alexhjl/p/11840586.html