Java后端常用的Linux相关指令记录

Linux 中查询日志的常用命令

1. 基本日志查看命令

cat - 查看完整日志文件

cat /var/log/syslog

less - 分页查看日志(推荐)

less /var/log/syslog
  • 使用 空格 向下翻页
  • b 向上翻页
  • /关键词 搜索
  • q 退出

tail - 查看日志尾部(实时监控)

# 查看最后10行
tail /var/log/syslog

# 查看最后100行
tail -n 100 /var/log/syslog

# 实时查看新增日志(常用)
tail -f /var/log/syslog

2. 日志过滤命令

grep - 关键词过滤

# 查找包含"error"的日志行
grep "error" /var/log/syslog

# 不区分大小写搜索
grep -i "error" /var/log/syslog

# 显示匹配行及前后5行
grep -A 5 -B 5 "error" /var/log/syslog

awk - 更复杂的过滤

# 提取特定列(如第5列)
awk '{print $5}' /var/log/syslog

# 统计错误出现次数
awk '/error/{count++} END{print count}' /var/log/syslog

3. 按时间查询日志

查看特定时间段的日志

# 查看今天到现在的日志
journalctl --since today

# 查看过去1小时的日志
journalctl --since "1 hour ago"

# 查看特定时间范围的日志
journalctl --since "2023-01-01 00:00:00" --until "2023-01-02 00:00:00"

使用 sed 按时间范围过滤

# 提取9:00到10:00的日志
sed -n '/Jan 10 09:00/,/Jan 10 10:00/p' /var/log/syslog

4. 查看控制台日志(直接运行jar包)

如果你使用java -jar命令运行Spring Boot应用:

tail -f app.log

小技巧

实时过滤错误日志​
tail -f your-app.log | grep -i "error"
​​​查看最近100行并高亮关键词​​:
tail -n 100 your-app.log | grep --color -E 'ERROR|WARN|^'
按日期分割查看日志​​ 
grep "2023-01-01" your-app.log

Linux 中检查端口监听状态的几种方法

1. 使用 netstat 命令(传统方法)

# 查看所有监听端口
netstat -tulnp

# 检查特定端口(如8080)是否在监听
netstat -tulnp | grep ':8080'

选项说明:

  • -t:TCP 端口
  • -u:UDP 端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示地址和端口
  • -p:显示进程信息(需要 root 权限)

2. 使用 ss 命令(推荐,更现代的工具)

# 查看所有监听端口
ss -tulnp

# 检查特定端口(如8080)是否在监听
ss -tulnp | grep ':8080'

ss 是 netstat 的替代品,速度更快,语法相似。

查看Java进程

ps -ef | grep java
# 或
jps -l

查看服务器内存使用情况

free -h
# 或
top
# 或
htop

查看Java进程的CPU和内存占用

top -p $(pgrep -d, java)
# 或
jstat -gcutil <pid> 1000

测试远程服务的端口是否可达

telnet hostname port
# 或
nc -zv hostname port

让Java应用在后台运行

nohup java -jar application.jar > app.log 2>&1 &
# 或使用systemd管理

统计Java进程的线程数

jstack <pid> | grep 'java.lang.Thread.State' | wc -l

排查服务器CPU 100%的问题

1. top -c 查看占用CPU高的进程
2. top -Hp <pid> 查看进程中的线程
3. printf "%x\n" <thread_id> 将线程ID转为16进制
4. jstack <pid> | grep -A 20 <thread_id_hex> 查看线程堆栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值