# 快捷键
Ctrl +a 切换到命令行开始
Ctrl+e 切换到命令行末位
Ctrl+I 清除屏幕内容,效果等同于clear
Ctrl+u 清除剪切光标之前的内容
Ctrl+k 剪切清除光标之后的内容
#vim快捷键
返回到行首
gg
返回到行尾
shift +g
#查看此目录磁盘大小
du -sh ./*
#以容量大小为依据依次显示文件和目录的大小
du -sk * | sort -rn
#查找本目录下关于800的关键字
grep 8000 ./* -R
#清空文档内容
>/etc/keepalived/keepalived.conf
#去掉空格和注释
grep -v ^# /etc/ha.d/haresources
#去掉空格和注释
grep -v '^$' filename|grep -v '^#'
#去掉空格和注释
egrep -v "^#|^$" /etc/ssh/ssh_config
#文件中删除所有注释和空白行
sed '/ *#/d; /^$/d' example.txt 从example.txt
#查找历史记录的关键字
history | grep "你的查找内容"
#查看只包含词汇 "string1"的行
sed -n '/stringa1/p'
重要:
#-I(大写i)选项 不区分大小写 , I要放在p的前面
sed -n '/bus/'Ip test.txt
#替换内容中有"/"
1)加转义符号“\" sed 's/\/sbin\/nologin/12345/g'
#特定字符串的行前插入新行
sed -i '/特定字符串/i 新行字符串' file
# 特定字符串的行后插入新行
sed -i '/特定字符串/a 新行字符串' file
# 特定字符串的删除
sed -i '/字符串/d' file
*/30 * * * * ntpdate 172.16.207.202 && hwclock -w
0 2 * * * /usr/bin/rsync -avlopg /opt/k8s-data/dockerfile/* 172.16.206.3:/opt/k8s-data/dockerfile/
0 3 * * * /usr/bin/rsync -avlopg /opt/k8s-data/yaml/* 172.16.206.3:/opt/k8s-data/yaml/ #
# yum 安装java
yum -y install java-1.8.0-openjdk*
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
# 删除5天前的文件
find /data -mtime +5 -type f -exec rm -rf{};
# edited by ouyang 2017-8-21 添加定时任务,每天凌晨两点,执行gitlab备份
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
0 3 * * * /bin/find /home/backup -name '*_2019_*_10.6.3-ee_gitlab_backup.tar' -mtime +7 |xargs rm -rf
0 0 * * 1 scp root@172.16.101.177:/home/backup/* /home/backup/
0 1 * * 3 /bin/find /home/backup -name '*_2019_*_10.6.3-ee_gitlab_backup.tar' -mtime +2|xargs rm -rf
#同步数据
*/30 * * * * ntpdate 172.16.207.202 && hwclock -w
0 2 * * * rsync -avlopg /data/* 172.16.207.2:/data/
# TCP抓包工具分析80端口数据流
tcpdump -c 10000 -i eth0 -n dst port 80
#强制删除pods
kubectl delete pod pod名称 --grace-period=0 --force -n 空间名称
#查看内存前十名占用大小
ps aux | sort -k4,4nr | head -n 10
#如何有效的清理yum缓存
yum clean all
以及 rm -rf /var/cache/yum/*
#查找关键字并替换
sed -i s/srv-devops-redis/172.16.206.4/g `grep srv-devops-redis -rl --include="*.sh" ./`
#mysql 查看表数量
select count(1) from 表名
#杀死NGINX所有服务
ps -ef |grep nginx |grep -v grep |awk '{print $2}'
#按照yum的第三方源
yum install epel-release
#查找SOA所有的服务进程,然后杀死
ps -ef |grep SOA |awk '{print $2}' |xargs kill -9
#查看连接进程
netstat -lna | grep 2181
#查看Java程序线程状态
jstack -l 6248 >jstatck.log
#查看网络流量
iftop -i bond0
#杀死Tomcat进程脚本
# /bin/bash
# pid=`ps -ef | grep "${dir}/${package}"|grep -v 'grep' | awk '{print $2}'`
pid=`/usr/sbin/lsof -n -P -t -i :8070`
if [ ! -n "$pid" ];then
echo -e "\033[31m ${package} service not alive \033[0m"
else
echo -e "\033[32m rulePlatfrom is $pid \033[0m"
/bin/kill -9 $pid
sleep 2
fi
#keepalived mysql
vrrp_script chk_mysql {
script "/etc/keepalived/scripts/chk_mysql.sh"
interval 2
weight 2
}
vrrp_instance VI_mysql {
state MASTER
interface br0
virtual_router_id 166
priority 100
advert_int 1
# nopreempt
unicast_src_ip 192.168.10.66
unicast_peer {
192.168.10.67
}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.10.166 dev br0 label br0:0
}
track_script { #指定前面脚本的名字
chk_mysql
}
}
chk_mysql.sh
#!/bin/bash
mysql=`/usr/bin/systemctl status mysqld.service |grep Active|awk '{print $3}'|cut -d '(' -f2|cut -d ')' -f1`
keepalived="systemctl stop keepalived"
if [ $mysql != running ]; then
$keepalived
fi
#常用替换字符串
sed -i s/'172.16.206.15'/'172.16.206.12'/g `grep '172.16.206.15' -rl ./* -R `
#截获主机hostname发送的所有数据
tcpdump ip host 192.16.102.53
生产专线添加吓一跳
route add -net 172.20.2.134 netmask 255.255.255.255 gw 192.16.102.54 dev em4
#history 默认是1000条
vim /etc/profile
history=10000 修改成10000行
for i in $(cat ip.txt|awk '{print $1}');do echo $i; echo ' ';ssh root@$i 'bash xunjian_new.sh';echo ' ';done
#查看mysql锁表命令
select * from information_schema.INNODB_trx;
#docker 新建postgres数据库
docker run --privileged=true --name my-postgres1 -e POSTGRES_PASSWORD=123456 -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v /my/local/path:/var/lib/postgresql/data -d postgres
#人大进仓秘钥替换后重启服务
/home/kingbase/license_18720_0.dat
cd /opt/Kingbase/ES/V8/Server/bin
./sys_ctl -w stop -D /opt/Kingbase/ES/V8/data -l "/opt/Kingbase/ES/V8/data/sys_log/startup.log"
./sys_ctl -w start -D /opt/Kingbase/ES/V8/data -l "/opt/Kingbase/ES/V8/data/sys_log/startup.log"
./ksql -p 54321 -U system test
#docker 导出查询日志
docker logs id |egrep ‘搜索关键字|搜索关键字’ |tail -n 200 |mac > /home/20230926.txt
#for 循环传输
for i in {2..5}; do scp -r /home/hadoop/app/spark/ L-$i:/home/hadoop/app/; done
{2..5}表示我要拷贝到机器2,3,4,5上去(2,3,4,5是我虚拟机的后缀名),我虚拟机的名称分别为L-1,L-2,L-3,L-4,L-5 -r表示拷贝的是一个目录