centos常用命令

吴书松
吴书松
发布于 2025-05-06 / 8 阅读
0

centos常用命令

常用命令

find + rm删除

如:查到当前文件夹下名称前缀是sentinel-record.log.2024-08- 的文件,并删除

find ./ -name "sentinel-record.log.2024-08-*" | xargs rm -rf

查找30天前的文件

find /root/logs/csp/ -type f -mtime +30 -name "sentinel-record.log.*"
find 后面紧跟的是要查找的目录,. 表示当前目录
-type f: 指定查找对象为文件
-name *.log: 指定查找对象名称以.log结尾
-mmin +10: 查找10分钟以前的老文件

-mtime +2 = 3天前(72小时前)
-mtime +1 = 2天前(48小时前)
-mtime 0 = 今天内修改的文件

删除文件

#!/bin/bash
find /root/logs/csp/  -type f -mtime +1 -delete

jps

jps是JVM进程查找工具,类似于linux的ps命令。我们使用这个命令主要是为了找到当前正在运行的JVM及其进程ID。

jstack

该命令用于生成当前时刻虚拟机的线程快照,可以用于定位线程出现长时间停顿的原因,包括死锁、死循环、超时等待等。

  • jstack [option] + PID 查看当前进程ID对应的java应用,堆栈情况

  • jstack [option] + PID >> temp.log 将堆栈报错信息输入到temp.log文件中

option

  • -F 当正常输出的请求不被响应时,强制输出线程堆栈

  • -m 如果调用到本地方法的话,可以显示C/C++的堆栈

  • -l 除堆栈外,显示关于锁的附加信息,在发生死锁时可以用jstack -l pid来观察锁持有情况

jstat

该命令用于监视虚拟机各种运行状态信息,包括类装载、内存、垃圾回收、JIT编译等数据,是运行期定位JVM性能问题的首选工具。

jstat命令格式:

jstat [option vmid [interval[s|ms] [count]] ]

interval:查询间隔(ms单位),count:查询次数,若忽略这2个参数,则只查询一次。

option为用户需要查询的虚拟机信息,包括类装载、GC、运行期编译状态等。可选项如下:

-class    监视类装载、卸载数量、总空间及类装载所耗费的时间
-gc    监视java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
-gccapacity    监视内容与-gc基本相同,但输出的主要关注java堆各个区域使用到的最大、最小空间
-gcutil    监视内容与-gc基本相同,但输出的主要关注已使用空间占总空间的百分比
-gccause    与-gcutil功能一样,但是会额外输出上一次GC产生的原因
-gcnew    监视新生代GC状况
-gcnewcapacity    监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间
-gcold    监视老年代GC状况
-gcoldcapacity    监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间
-gcpermcapacity    输出永久代使用到的最大、最小空间
-compiler    输出JIT编译器编译过的方法、耗时等信息
-printcompilation    输出已被JIT编译的方法

示例:

2.1 jstat -gc 18614 200 10 每200毫秒查询一次进程PID为18614的垃圾收集情况,一共查询10次。

jinfo PID

查看jvm进程详细信息

修改权限

linux权限格式:rwx/rwx/rwx

  • 第一组:拥有者权限

  • 第二组:群组权限

  • 第三组:其他用户权限

每组的权限格式:rwx

  • r:读

  • w:写

  • x:执行

完整的格式:rwx/rwx/rwx

也可以用二进制表示:111/111/111

也可以用10进制表示:7/7/7

chmod 740 a.txt:赋予文件a.txt 拥有者读写执行权限,群组读权限,其他用户没有权限

chmod -R 777 b :-R 会将文件夹下所有的文件赋予该权限

grep

|:命令管道,将上一个命令的输出作为下一个命令的输入

grep "xxxx" : 匹配内容xxxx:
    参数:-C 10:返回匹配行上下10行数据
tail -n 10:返回最后10行数据

jstack -l 39919 | grep "java.lang.Thread.State" | tail -n 10

Linux抓包

输出到当前文件夹下的 1.txt文件里面
tcpdump -n -X -i any port 12329 > 1.txt


输出到当前文件夹下的 1111.pcap文件里面,pcap格式是可以使用wireshark打开分析
tcpdump -n -X -i any port 12329 -w 1111.pcap
tcpdump -i any -w  11.pcap

tcpdump -s 12329 port ftp or ssh -i eth0 -w mycap.pcap

ps

1、实时显示PID进程内的各个线程情况

top -H -p PID //实时显示PID进程内的各个线程情况

运行结果如下,PID-进程号,SPID-线程号,CMD-线程名称。

top

1、实时显示PID进程内的各个线程情况

top -H -p PID