Linux常用指令

// 查找进程
ps -ef | grep jenkins
top

// 查找正在运行的java进程
jps

// 查看mysql, redis状态
sudo systemctl status mysql
sudo systemctl status redis

tree

// 递归删除本文件夹及子文件夹
rm -r

top

kill -9 163324

//查日志
cat
grep "keyword" filename
wc -l filename
tail -f
tail -n
head -n
//日志中查找IP地址
grep -E -o '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/syslog
这是一个正则表达式,用于匹配IP地址的文本模式。它查找一个数字序列,其范围是1到3位,后跟一个点,重复3次,然后是最后一个数字序列,其范围也是1到3位。

CPU飙升排查:1、top  2、ps 某进程号,查看哪个线程出问题了  3、jstack定位问题来源

ufw allow 8080












1、查看内存(free)
2、整体负载(top)
(1)第⼀⾏: 系统时间 + 系统运⾏时间 + ⼏个⽤户 + 1/5/15分钟系统平均负载
(2)第⼆⾏:进程总数(total) + 正在运⾏进程数(running) + 睡眠进程数(sleeping) + 停⽌的进程数(stopped)+ 僵 ⼫进程数(zombie)
(3)第三⾏:⽤户空间CPU占⽐(us) + 内核空间CPU占⽐(sy)+ CPU空置率(id)


3、发送信号给进程
kill -信号 进程ID
# 例如,发送SIGTERM(优雅关闭)信号给PID为1234的进程
kill -SIGTERM 1234

常用信号:(列出所有信号kill -l)
	SIGHUP:重新加载配置
	SIGINT:相当于Ctrl+C,中断一个程序的执行
	SIGKILL:杀死一个进程
	SIGTERM:软件终止信号
	SIGSTOP:相当于Ctrl+Z,暂停一个进程的执行


 4、端口查看
 lsof 查看端⼝占⽤语法格式:lsof -i:端⼝
 查看所有端口:lsof  -i
 netstat
netstat -tunlp ⽤于显示 tcp/ip网络连接。
	-t (tcp) 仅显示tcp相关选项
	-u (udp)仅显示udp相关选项
	-n 拒绝显示别名,能显示数字的全部转化为数字
	-l 仅列出在Listen(监听)的服务状态
	-p 显示建⽴相关链接的程序名
netstat 查看端⼝占⽤语法格式:netstat -tunlp | grep 端口号,比如:netstat -tunlp | grep 3306






  

  
查看端口占用:losf -i:端口号 、netstat -tunlp

cpu负载: top、uptime

内存占用: free -m、vmstat -s、top

查看磁盘: df、du

Linux命令netstat用过吗?

Linux如何查看哪些进程占用的内存最多: ps aux

traceroute命令了解吗?traceroute是一个网络诊断工具,用于确定数据包从源主机到目标主机所经过的路由器路径。它通过发送一系列UDP数据包,每个数据包的TTL(生存时间)值依次递增,并在数据包返回前等待响应。当某个路由器收到一个TTL值较小的数据包时,它会将该数据包丢弃并向源主机返回一个ICMP“超时”错误消息,同时该路由器的IP地址也被记录下来。当最终目标主机收到一个UDP数据包时,它会返回一个ICMP“端口不可达”错误消息,告知traceroute程序已经到达目标主机。

如何查看Linux机器上磁盘的IO: iostat、iotop

Linux查看文件命令: more、cat

Linux查看日志命令:head、cat

Linux查看进程TLB缺页率: perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses -p $PID

查询当前某程序的线程数:pstree -p 进程号 |wc -l

​可通过降低stack大小、增加虚拟内存来调大每个进程可拥有的最大线程数;

查看当前进程打开的文件:lsof

perf CPU的占用率:perf stat task-clock

perf 上下文切换次数:perf context-switches

perf 缺页次数:perf page-faults

根据端口号查找相应的进程号 (必须以root用户执行)

netstat -anp | grep 8080
Linux下查看TCP网络连接情况
僵尸进程产生原因和解决方法

kill 的原理, kill -9 和 kill -15的区别?
kill 命令默认信号是 SIGTERM(15),当使用 kill -15 时,系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该信号后,具体要如何处理是自己可以决定的:
`立即停止程序
`释放响应资源后停止程序
`忽略该信号,继续执行程序
因为kill -15信号只是通知对应的进程要进行"安全、干净的退出",程序接到信号之后,退出前一般会进行一些"准备工作",如资源释放、临时文件清理等等,如果准备工作做完了,再进行程序的终止。
但是,如果在"准备工作"进行过程中,遇到阻塞或者其他问题导致无法成功,那么应用程序可以选择忽略该终止信号。
这也就是为什么我们有的时候使用kill命令是没办法"杀死"应用的原因。
kill -9 相对强硬一点,系统会发出 SIGKILL(9)信号,他要求接收到该信号的程序应该立即结束运行,不能被阻塞或者忽略。
所以,相比于 kill -15 命令,kill -9 在执行时,应用程序是没有时间进行"准备工作"的,所以这通常会带来一些副作用,数据丢失或者终端无法恢复到正常状态等。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值