Linux中常用的命令

日常工作中排查问题经常会使用到一些命令, 所以在这里记录一下

查看日志

(这里的 logFileName 表示日志文件名称, 在实际应用中, 请把logFileName 替换为你实际想要查看的日志文件名称)

#动态日志输出

tail -f   logFileName

#查看某个关键字所在的行号

cat  -n logFileName | 'keyword'

#显示日志里匹配字串那行以及前后5行

cat filename | grep -C 5 '关键字'

#显示匹配字串及前5行

cat filename | grep -B 5 '关键字' 

#显示匹配字串及后5行

cat filename | grep -A 5 '关键字'

#显示匹配字串及后10行 (带行数)

cat -n filename | grep '关键字' -A 10

#根据行号查看 起点行到截止行的数据 

 (例如: 我用上面的命令已经知道关键字所在的行号为第 200 行, 我这里想要查看200到500行之间的日志记录)

sed -n '200,500p' logFileName

#查看某个端口是否启用

netstat -an | grep 8077

当显示tcp一行则说明该端口启用了

tcp6       0      0 :::8077                 :::*                    LISTEN     


#查看端口被哪个PID使用

lsof -i:8084

杀死pid

kill -9 pid
 

#复制文件夹

cp -r logs/ ../test           #将当前目录下的logs文件夹移动上上层目录的test文件夹下

参数说明

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

#查询文件所在位置

find / -name filename

#查看进程信息

netstat -tnlp

#查看cpu使用情况

top

#查询进程下的线程cpu使用情况

top -H -p pid        //top -H -p 17751

#将pid 转换为十六进制

printf "%x\n" 17963

# jstack 进程号|grep 16进制异常线程号 -A90  来定位异常代码的位置(最后的-A90是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置。

jstack 8825 | grep 229f -A90

#查看所有的java进程

ps -ef | grep java

#查看某一时间段的日志

命令: grep '时间' '日志文件名 '

grep '2021-10-20 15:4[0-1]' logback.log  (后面可加 -A 50)

 

-------------------------- 未完待续  -------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值