1、netstat -antlp 中 antlp分别是什么意思
netstat用来查看系统当前系统网络状态信息,包括端口,连接情况等
netstat -atunlp,各参数含义如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(LISTEN状态的套接字)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序
-n : 不进行DNS解析
-a 显示所有连接的端口
2、shell中 $* $# $@ $?是什么意思
$* 传递给脚本的所有参数;
$# 传递给脚本的参数个数;
$? 显示最后命令的退出状态(0表示没有错误,其他任何值表明有错误);
@ 与 @ 与 @与*功能类似;
3、shell 随机产生20位字母和数据的密码
tr -cd '[:alnum:]' </dev/urandom | head -c 20
echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-21
4、使用一条命令防范ddos攻击
netstat -t | awk '{print $5}' | sort | uniq -c | awk -F ':' '{print $1}'
5、运维的知识体系或知识架构
负载均衡: LVS, nginx,haproxy
常见服务: ftp,ssh ,mail,IIS,DNS
web: tomcat,nginx ,apache, weblogic
数据库: mysql,mariadb
存储: NFS(DRBD+heartbeat+NFS), Hadoop,FastDFS,HDFS,MFS
版本控制: svn ,git
监控: zabbix,prometheus, open-Falcon
自动化: ansible,rsync+inotify, CMDB
NOSQL(缓存): redis,memcache,mongodb
虚拟化: docker,k8s,kvm ,vmware,openstack
devops方案: jenkins,gitlab,svn, ELK
编程: shell,python, go
安全: rootkit,md5, fail2ban,ddos-defalte
6、查看系统中的用户最后一次登录的信息
last -a
lastlog
9、nginx、MySQL、tomcat的并发
反向代理:2w、5w,200w、1200
10、MySQL的存储引擎
InnoDB、MyISAM、MEMORY、Archive
11、CPU飙高处理
cpu飙高处理步骤
top查找出哪个进程消耗的CPU高(top -c)
top -h -p查找出哪个线程消耗的cpu高(top -h -p pid)
这个命令就能显示刚刚找到的进程的所有线程的资源消耗情况。
printf%x进行pid的进制转换
找到CPU负载高的线程pid 8627, 把这个数字转换成16进制,21B3(10进制转16进制,用linux命令: printf %x 8627)
jstack记录进程的堆栈信息
执行jstack -l pid,拿到进程的线程dump文件。这个命令会打出这个进程的所有线程的运行堆栈。
找出消耗CPU最高的线程信息
12、硬盘空间还有,但是无法创建文件怎么办
首先需要知道创建文件时,需要满足两个条件:1、磁盘上还有空间;2、inode号还有剩余。
如果所在的分区inode满了,可以将一些没用的文件或目录删除,释放inode号。也可以将部分文件备份到一个新分区,然后删除这些文件,释放inode号,再将备份分区挂载到原来的位置。(软链接也可以是试试)例如:/data/cache占用了大量的inode号。那么我可以添加一个新的空分区/dev/sdb1,格式化,挂载。然后将/data/cache下文件备份到/dev/sdb1分区下,接着再删除原位置的文件。最后我们卸载分区,重新挂载到/data/cache下。(没有验证,仅供参考)
inode号在xfs文件系统前(ext4/ext3/ext2)都是在格式化之前就定下来的,例如ext4文件系统使用命令mkfs.ext4中的-N选项设置数量 。但是我们来到xfs文件系统时,mkfs。xfs没有-N这个选项,不用担心,这时使用-i maxpct=n来调整inode区占整个分区的比例(默认n=25,即占用25%的空间大小)。而且似乎可以使用命令xfs_growfs在不重新格式化分区就可以增加inode区占整个分区的比例,从而增加inode总数。
Windows文件系统:XFS