Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux常用命令

Linux系统常用命令速查指南

作者:身如柳絮随风扬

这篇文章主要为大家详细介绍了Linux中的系统常用命令,部署流程及故障排查方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一、Linux常用命令速查

1. 文件与目录操作

命令说明示例
cp复制文件或目录cp file1.txt file2.txt
mkdir创建目录mkdir /opt/modules
rm删除文件或目录rm -rf dir
cat查看文件内容cat app.log
more分页查看文件more large.log
vim编辑文件vim config.yml
cd切换目录cd /opt
pwd显示当前路径pwd
ls列出目录内容ls -la
mv移动或重命名文件mv old.txt new.txt

2. 进程与系统管理

命令说明示例
ps -ef查看所有进程ps -ef | grep java
kill终止进程kill -9 12345
top动态查看系统负载top
netstat -nltp查看端口占用netstat -nltp | grep 8080

3. 文件压缩与解压

# 解压tar.gz包
tar -zxvf app.tar.gz

# 压缩目录
tar -zcvf backup.tar.gz /opt/data

4. 文本处理与搜索

# 查看日志最后200行
tail -200f app.log

# 查找文件
find / -name "*.log"

# 搜索文件内容
grep "ERROR" app.log

5. 远程拷贝(SCP)

# 将本地文件拷贝到远程主机
scp springboot-water.jar root@192.168.10.92:/opt/modules/

# 从远程主机拉取文件
scp root@192.168.10.92:/opt/modules/app.jar ./

6. 磁盘与内存

# 查看磁盘使用情况
df -h
# 查看内存使用情况
free -m

二、系统部署流程详解

1. 部署方式对比

方式适用场景特点
手工部署测试环境、小规模应用手动打包、上传、启动,适合快速验证
自动化部署(CI/CD)生产环境、频繁发布通过Jenkins、GitLab CI等工具实现流水线部署

2. 手工部署步骤

本地打包:使用Maven/Gradle构建JAR/WAR包

上传服务器:通过scp或FTP工具上传

安装环境:安装JDK、MySQL、Redis等依赖

启动应用

nohup java -jar app.jar > app.log 2>&1 &

验证部署:访问健康检查接口,查看日志确认启动成功

3. 自动化部署流程

代码提交 → 触发CI构建 → 单元测试 → 打包 → 上传制品库 → 部署到服务器 → 健康检查 → 发送通知

在实际工作中,测试环境部署常由开发负责,生产环境则由运维或SRE团队执行。

三、进程管理:查看与终止

1. 查看Java进程

# 方法一:jps(推荐)
jps -l

# 方法二:ps + grep
ps -ef | grep java

2. 杀进程

# 正常终止(允许进程清理资源)
kill 12345

# 强制终止(立即结束)
kill -9 12345

kill与kill -9的区别

命令信号说明
killSIGTERM (15)温和终止,进程可捕获信号并执行清理操作(如关闭文件、释放资源)
kill -9SIGKILL (9)强制终止,进程无法捕获,立即被系统回收,可能导致数据丢失或资源未释放

建议:优先使用kill,若进程无响应再使用kill -9

四、端口占用排查

启动应用时若遇到端口被占用,可通过以下命令定位:

# 查看所有监听端口及对应进程
netstat -nltp

# 过滤指定端口(如8080)
netstat -nltp | grep 8080

# 使用lsof(需安装)
lsof -i:8080

输出示例:

tcp6       0      0 :::8080                 :::*                    LISTEN      12345/java

此时可确认占用进程为PID 12345,根据情况决定是否终止。

五、后台运行与系统负载

1. 将程序放到后台运行

# 方法一:在命令末尾添加 &
java -jar app.jar &

# 方法二:使用nohup(断开终端仍运行)
nohup java -jar app.jar > /dev/null 2>&1 &

2. 查看系统负载

top

top输出中关注:

六、系统故障排查思路

1. 核心原则

先恢复服务,再分析原因

当系统出现故障时,首要任务是让系统恢复可用,而非立即定位问题。但在重启或操作前,务必保留现场(日志、堆栈、状态等)。

2. 排查步骤

查看日志

tail -200f /var/log/app.log

检查系统资源

top          # CPU、内存
df -h        # 磁盘
free -m      # 内存

检查网络与端口

ping <ip>
netstat -nltp

查看进程状态

ps -ef | grep java

分析核心转储或堆栈(如有)

jstack <pid> > thread_dump.txt

3. 常见问题与应对

问题现象可能原因排查命令
应用响应慢CPU/内存不足、GC频繁top, jstat
端口无法绑定端口被占用netstat -nltp
服务突然停止OOM、进程被杀dmesg | grep -i kill
磁盘写满日志未清理df -h, du -sh *

七、发行版与Shell脚本

1. 常用Linux发行版

在实际生产环境中,CentOS 7 是许多企业的首选,因其稳定性、社区支持及与RHEL的兼容性。近年来,CentOS 8 已停止维护,企业逐步迁移至:

2. Shell脚本编写

Shell脚本用于自动化任务,如日志清理、应用启动、备份等。

示例:清理7天前的日志

#!/bin/bash
LOG_DIR="/var/log/app"
DAYS=7
find $LOG_DIR -name "*.log" -mtime +$DAYS -exec rm -f {} \;
echo "Logs older than $DAYS days have been removed."

以上就是Linux系统常用命令速查指南的详细内容,更多关于Linux常用命令的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文