Linux 常见命令
- 基础命令
- 文本处理三剑客
- 线上项目常见使用的命令
- shell 脚本常见命令
一些命令的使用场景
-
如何从规范的日志中统计出你想要的信息
-
去重如何做
-
后台命令日志管理问题
如果程序本书输出了日志那么控制台就不要输出日志了> /dev/null
联系题目
Linux 服务器软件安装
如果你遵循规范的话
像java,tomcat 应安装在 /usr/local/
目录下
像日志文件应该存放在 /var/log
目录下
软件程序安装在 opt
目录下
个人Shell实战场景汇总
- unzip 文件内容提取
unzip -l mysql.zip |sed -n '4-5p' |awk '{print $3}'
a=unzip -l mysql.zip | wc -l
b=$[a-3]
sort | uniq -c |sort -n
- jps 进程目录获取
#!/bin/bash
all=`jps |grep -v 'Jps'|awk '{print $1}'`
for o in $all
do
echo $o "->" `ls -l /proc/$o |grep 'cwd' |awk '{print $11}'`
done
- grep -Inr 搜索
grep -Inr 'bash'
- 批量创建文件夹
mkdir /opt/bash/{a,b,c}
- tcpdump 使用
tcpdump -A -s0 -i lo -w a.cap
tcpdump -A -s0 'port 8080'
- 判断命令内容是否为空
if test !-z "$(rpm -qa | grep -i openJDK)"; then
rpm -qa | grep -i openJDK
echo "卸载系统自带 openJDK中... 请稍后"
rpm -e --nodeps `rpm -qa | grep -i openJDK`
fi
- 判断是否存在某个命令
if $(command -v virsh >/dev/null 2>&1); then
virsh net-destroy default
fi
网抑云小工具
#! /bin/bash
## 定时任务去请求 wyy接口 然后输出到 /etc/motd文件汇总
API_URL=https://api.lo-li.icu/wyy/
echo "$(curl -s $API_URL)" > /etc/motd
crontab -e
0 */1 * * * /opt/cron/wyy.sh >/dev/null 2>&1 &
分、时、日、月、周 以上命令一小时执行一次
企业微信定时推送
周一至周五 每天下午6.30机器人推送日报提醒
crontab -e 30 18 * * 1,2,3,4,5 /opt/push_msg/webhook.sh >/dev/null 2>&1 &
#!/bin/sh
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx' \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "text",
"text": {
"mentioned_list":["@all"],
"content": "兄弟们,记得提交今天的日报[抱拳] "
}
}
'