Linux知识点(2020-4-22)
1.系统常用检查命令
1.1磁盘
df -h #查看磁盘
仅仅查看Mounted on【/】根目录或者【/**数字】的磁盘信息,其他的可以不用看
free -m #m 是多少兆 查看内存
free -g #g 是多少G内存,查看内存
大数据生产服务器 swap=0 # swap作用:将硬盘空间充当虚拟内存,而硬盘当中数据特别缓慢,所有都要将数据放入到内存当中,所有swap不等于0
1.2系统负载
top #查看后台运行的进程,用户等信息
load average:0.01,0.03.0.05 #系统负载
1min 3min 15min
如果数值超过10,则证明服务器很卡,那如何解决:
1.可能程序有问题,在大量跑程序 #解决方法:主要查看CPU和内存(MEM)的占比
2.可能被黑客攻击 yarn redis #解决方法:主要查看CPU和内存(MEM)的占比
3.硬件问题 内存条 硬盘 #解决方法:重启服务器
2.yum安装和卸载
2.1yum 安装
yum -y install XXX
yum -y install httpd #d :增加后台进程显示
systemctl status|start|stop httpd XXX XXX #查看状态,这个可以一次查看好几个应用的状态
2.2yum 卸载
rpm -qa | grep http #查找http
rpm -e 文件包 --nodeps #卸载rpm包
yum remove dir #卸载
3.进程
3.1查看进程
ps -ef | grep http #查看http进程 |管道服务 grep 用于过滤
ps -ef #查看所有进程
用户 子进程(PID) 父进程(1)
root 3424 1
root 9044 3424
3.2杀死进程
kill -9 PID #杀死进程后面可以跟多杀死进程以后,需要重启,如systemctl restart httpd
kill -9 $(pgrep -f httpd) #根据匹配字段,搜索所有符合的进程,全部杀死,但是慎用
3.3查看端口号
netstat -nlp |grep PID #查看端口号 只有父进程(1)对应的子进程(进程号)
备注:进程不一定都有端口号,只有与其他服务通信,才会需要端口号
4.查看IP
ipconfig #查看ip
ip addr #查看ip
以下外部都是可以访问
192.168.192.128:80
0 0.0.0.0:80
0 192.168.2.12:80
0 : : : 80
以下两个比较危险,因为没有该服务只能自己的服务器里面的自己访问自己
0 127.0.0.1:80 0
localhost:80
4.1 问题
Connection refused #如下解决
1.测试网络
window cmd
ping ip #测试网络 ping 外网IP
2.测试端口
telnet ip port #telnet 外网IP 80(端口号) 这个在centos和win中都可以
win中
控制面板–>程序–>启动或者关闭windowd功能–>选择【Telnet客户端】,#在win中用cmd
centos中
rpm -qa | grep telnet
yum list | grep telnet
yum -y install telnet-server.x86_64 telnet.x86_64
3.防火墙
如果前面都连接不上,则可能是服务器的防火墙需要开启,如果是云主机,则设置安全组策略,需要打开端口
5.repos
cd /etc/yum.repos.d/
curl #查看网络是否正常,下载信息 curl ping www.baidu.com
6.wegt下载
wget 网址 #在线下载
7.压缩和解压
yum -y install zip unzip
zip --help
zip -r XXX.zip XXX/* #压缩文件夹 这个有问题的
unzip XXX.zip #解压
tar -czvf XXX.tar.gz XXX/* #压缩文件夹 c 压缩
tar -zvxf XXX.tar.gz #z 解压 v 展示出解压过程的文件 f 表示文件
8.查看命令
which xxx # 这个自己查一下 查看是否有这个命令
whereis XXX #可以查看命令,只要匹配的都会显示
9.定时
crontab -e #定时任务
-
-
-
-
- 地址 #表示每分钟都要执行这个脚本 ==*/1 * * * *
分
hour
day
mouth
weekend
- 地址 #表示每分钟都要执行这个脚本 ==*/1 * * * *
-
-
-
- #表示 每
*/6 * * * * #每隔6分钟执行一次
题目:每隔10s打印一次
如: 每隔10s打印一次
#!/bin/bash
for(i=1;i<=6;i++)
do
date
sleep 10s
done
crontab -l #查看定时任务
10.执行脚本
sh ./xxx.sh #执行shell脚本文件
./xxx.sh #执行shell脚本,但是有时候可能没有执行权限