常用到的Linux命令

一:CentOs7/red hat关闭防火墙的命令!

查看防火状态

systemctl status firewalld

service  iptables status

暂时关闭防火墙

systemctl stop firewalld

service  iptables stop

永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off

重启防火墙

systemctl enable firewalld

service iptables restart  

永久关闭后重启

chkconfig iptables on 
二:
1:查看镜像信息:lsb_release -a

2:查看内核信息:uname -r
三:重启docker服务
 systemctl restart  docker

 service docker restart
四:查看日志

线上出现了问题,登上线上的机器查日志是非常常见的操作了。常用以下的几个命令(假设现在我们的日志文件叫做service.log):

cat service.log

tail -f service.log

vim serivice.log

如果是小文件的话,单纯的cat命令还是可以应付的,但如果你直接用cat命令打开一个1GB的日志文件,保证卡死你(ctrl + c退出cat命令需要很久才能将cat命令停下来)。

一般只用cat来查看这个小文件的文本内容是什么
同样地,如果是小文件,单纯的vim命令去打开文件也是可以应付的,但如果你用vim命令去打开一个1GB甚至更大的文件,也能明显感受到缓慢和卡顿。

平时用vim去查找对应的记录的,一般的操作:

  • vim service
  • G跳转到文件的末尾
  • ? +关键字搜索对应的记录
  • n往上查询,按N往下查询
  • tail -f service.log这个命令我一般用于查看流量是否进来了(或者调试的时候可以直接看到日志,再迅速ctrl +c关掉)

面对比较大的日志文件,这我们就得配合grep来玩了,比如我们现在得知某个手机号收不到短信验证码,想要看一下这个手机号的日志是怎么样的。于是我们就可以这样搞:

-cat service.log | grep 13888888888

这么一搞,就能将service.log中所有含有13888888888的记录给搜出来,搜索的速度还是贼快的。
在这里插入图片描述
现在我们已经能根据关键字搜到对应的记录了,接着我想看一下那条记录的日志上下文【这样就能知道这条数据大概的执行状态了】

首先,我们先要查出对应记录的行号,在cat命令后面加上一个-n参数就好了。所以命令是:cat -n service.log | grep 13888888888 ,

现在行数是29506,我们一般只要看一下29506的前10行和后10行就差不多知道问题出现在哪了,于是我们可以这样做:

sed -n "29496,29516p" service.log:从29496行开始检索,到29516行结束
cat -n service.log | tail -n +29496 | head -n 20:从29496行开始检索,往前推20条
如果关键字不太准确(日志输出的记录太多了),我们可以使用more命令来浏览或者输出到文件上再分析:

cat service.log | grep 13 |more:将查询后的结果交由more输出
cat service.log | grep 13 > /home/sanwai/aa.txt将查询后的结果写到/home/sanwai/aa.txt文件上
有的时候,我们想统计这个日志输出了多少行,我们可以使用这条命令:
cat service.log | wc -l

五、查进程和端口

查进程有两个命令:

ps -ef
ps aux

上面两个命令都是列出所有的进程,我们还是通过 |管道和grep 来过滤掉想要查的进程,比如说:ps -ef |grep java

把进程查出来干嘛?知道它的进程ID了,我们可以把他给杀掉。

kill -9 processId:杀掉某个进程
查端口也是一个很常见的操作,常见命令:netstat -lntup
在这里插入图片描述
查看某个端口详细的信息:lsof -i:4000
在这里插入图片描述
解决端口被占用的问题
以端口9877为例,先查看是否有进程占用该端口
netstat -tln | grep 9877
然后查看占用该端口的进程的进程id
lsof -i :9877
最后kill 命令结束该进程:kill pid(上一个命令输出的那个)

六、查看系统的状态

TOP实时查看进程的状态

TOP命令查看进程的状态,其中有个load average可能不是那么好理解,下面来解释一下:

load average:在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。

load average 有三个值,分别代表:1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。

正在运行的进程 + 准备好等待运行的进程 在特定时间内(1分钟,5分钟,10分钟)的平均进程数
Linux进程可以分为三个状态:

  • 阻塞进程
  • 可运行的进程
  • 正在运行的进程

比如现在系统有2个正在运行的进程,3个可运行进程,那么系统的load就是5,load average就是一定时间内的load数量均值

free查看内存使用状况

linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化,内核会把剩余的内存```申请为cached``,而cached不属于free范畴。

如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。

可用内存=free的内存+cached的内存+buffers
Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。磁盘的操作有逻辑级(文件系统)和物理级(磁盘块)

7.cat | echo | sed 命令
  • cat sentinel.conf | grep -v “#” | grep -v “^$” #这个命令是查看筛选,过滤掉被注释的行和空行
  • cat sentinel.conf | grep -v “#” | grep -v “^$” >> redis-sentinel-26379.conf #这个命令是将筛选后的内容输入到指定的文件
  • echo “slaveof 127.0.0.1 7000” >> /opt/redis/config/redis-7001.conf #写入内容到指定文件
  • sed “s/26379/26381/g” redis-sentinel-26379.conf > redis-sentinel-26381.conf #用途:sed主要以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值