常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx运维指南
一、基础Linux指令
1. 文件与目录操作
ls -lh # 查看文件详情(人类可读格式)
pwd # 显示当前目录路径
cd /path # 切换目录
mkdir dirname # 创建目录
rm -rf dirname # 强制删除目录
cp -r src dest # 递归复制目录
mv old new # 移动/重命名文件
find / -name "*.log" # 查找文件
chmod 755 file # 修改文件权限
chown user:group file # 修改文件所有者
2. 文本处理
cat file # 查看文件内容
head -n 10 file # 查看文件前10行
tail -f file # 实时查看文件新增内容
grep "pattern" file # 搜索文本
sed -i 's/old/new/g' file # 替换文本
awk '{print $1}' file # 提取文本列
vim file # 编辑文件
3. 系统监控
top # 实时系统监控
htop # 增强版top(需安装)
free -h # 查看内存使用
df -h # 查看磁盘空间
du -sh dir # 查看目录大小
ps -ef | grep java # 查看进程
netstat -tunlp # 查看网络连接
lsof -i:8080 # 查看端口占用
二、Java相关指令
1. JDK管理
java -version # 查看Java版本
javac -version # 查看编译器版本
update-alternatives --config java # 切换Java版本
2. JVM监控
jps -l # 查看Java进程
jstat -gcutil pid # 查看GC情况
jmap -heap pid # 查看堆内存
jstack pid # 获取线程堆栈
jcmd pid VM.flags # 查看JVM参数
3. Jar包管理
nohup java -jar app.jar > log.out 2>&1 & # 后台运行jar包
kill -9 pid # 强制终止Java进程
三、MySQL相关指令
1. 服务管理
systemctl start mysql # 启动MySQL
systemctl stop mysql # 停止MySQL
systemctl restart mysql # 重启MySQL
systemctl status mysql # 查看状态
2. 数据库操作
mysql -u root -p # 登录MySQL
mysqldump -u root -p dbname > backup.sql # 备份数据库
mysql -u root -p dbname < backup.sql # 恢复数据库
mysqladmin -u root -p status # 查看MySQL状态
3. 性能监控
show processlist; # 查看当前连接(MySQL内)
show variables like '%max_connections%'; # 查看最大连接数
show global status like 'Threads_connected'; # 查看当前连接数
四、Tomcat相关指令
1. 服务管理
./catalina.sh start # 启动Tomcat
./catalina.sh stop # 停止Tomcat
./catalina.sh restart # 重启Tomcat
tail -f ../logs/catalina.out # 查看日志
2. 配置检查
ps -ef | grep tomcat # 查看Tomcat进程
lsof -i :8080 # 检查端口占用
3. 内存设置
# 在catalina.sh中添加
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=256m"
五、Redis相关指令
1. 服务管理
redis-server /path/to/redis.conf # 启动Redis
redis-cli shutdown # 关闭Redis
redis-cli ping # 测试连接
2. 性能监控
redis-cli info # 查看Redis信息
redis-cli info memory # 查看内存使用
redis-cli info clients # 查看客户端连接
redis-cli --latency # 测试延迟
3. 数据操作
redis-cli keys "*" # 查看所有键
redis-cli flushall # 清空所有数据(慎用)
redis-cli bgrewriteaof # 重写AOF文件
六、Nginx相关指令
1. 服务管理
nginx # 启动Nginx
nginx -s stop # 快速停止
nginx -s quit # 优雅停止
nginx -s reload # 重载配置
nginx -t # 测试配置
2. 日志分析
tail -f /var/log/nginx/access.log # 实时访问日志
awk '{print $1}' access.log | sort | uniq -c | sort -nr # 统计IP访问
3. 性能调优
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' # 查看连接状态
ab -n 1000 -c 100 http://test.com/ # 压力测试
七、常用组合命令
- 查找并杀死Java进程
ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
- 批量查找并替换文件内容
find /path -type f -name "*.xml" -exec sed -i 's/old/new/g' {} \;
- 查看各进程内存占用
ps -eo pid,user,%mem,command --sort=-%mem | head
- 统计日志中404错误
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -nr
- 监控Redis内存增长
watch -n 1 "redis-cli info | grep used_memory_human"
八、实用技巧
压缩与解压
tar -czvf archive.tar.gz /path/to/dir # 压缩
tar -xzvf archive.tar.gz # 解压
希望这份Linux指令大全能帮助您更高效地进行服务器运维工作!根据实际环境,部分命令可能需要适当调整。