前言
仅适合有linux基础的童鞋
删除/卸载/杀进程操作,请谨慎,再谨慎
命令
rpm篇
rpm -qa | grep 'xxx'
rpm -ivh xxxx_1_0_0.rpm
rpm -Uvh xxxx_1_0_1.rpm
rpm -Uvh --force xxxx_1_0_0.rpm
rpm -e xxxx_1_0_1.rpm
supervisor篇
supervisorctl status xxxx
supervisorctl start xxxx
supervisorctl stop xxxx
supervisorctl restart xxxx
日志篇
tail -f /logs/xxx.log
control + c
cat /logs/xxx.log | grep 'error'
zmore /logs/xxx.log
q或Q
清除篇(谨慎)
find . -type d | grep 'xxxx'
find . -type d | grep 'xxxx' |xargs rm -rf
find . -type f | grep 'xxxx.json'
find . -type d | grep 'xxxx.json' |xargs rm -f
进程篇
ps -aux | grep 'xxxx'
top -p pid
q或者Q
kill -9 pid
端口篇
netstat命令参数:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(程序)
-p : 显示进程标识符和程序名称
-n : 不进行DNS轮询,显示IP
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况·
netstat -lanp //查询服务以及端口
netstat -lanp | grep mysql //查询mysql服务端口
netstat -pnt |grep :3306 |wc //查询3306链接数
防火墙篇
service iptables start
service iptables stop
service iptables restart
systemctl stop firewalld.service
systemctl start firewalld.service
systemctl restart firewalld.service
/sbin/iptables -I INPUT -p tcp --dport 5212 -j ACCEPT
/sbin/iptables -I OUTPUT -p tcp --dport 5212 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
/etc/init.d/iptables status
firewall-cmd --zone=public --add-port=5121/tcp --permanent
firewall-cmd --zone=public --remove-port=5121/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
firewall-cmd --state
磁盘篇
df //查询磁盘分区情况
df -H //查询磁盘分区使用情况
du -sh * //查询当前目录下每个文件占用空间大小
du -h --max-depth=1 [dir] //查询 [dir] 递归深度为1的使用情况
du -s *|sort -n //排序
du -s *|sort -nr //反向排序
内存篇
free //查看内存使用情况
cat /proc/meminfo //查看服务器详细内存情况
脚本语法
if
if [ command ];then
echo 'do'
fi
if [ command ];then
echo 'do'
elif [ command ];then
echo 'do'
else
echo 'do'
fi
[ -d DIR ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -w FILE ] 如果 FILE存在且是可写的则为真。
[ -x FILE ] 如果 FILE 存在且是可执行的则为真。
[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。
-eq
-ne
-lt
-le
-gt
-ge
!
||
&&
命令行变量获取
$1
build.sh 1 2 3
$?= 上个命令的退出状态
$# = 参数个数 3
$* = 所有参数
$@ = 所有参数,"包裹时" 拆分出来
$$ = 当前shell进程id
$0 = build.sh
$1 = 1
$2 = 2
$3 = 3