Linux系统常用命令速查指南

 更新时间:2026年04月01日 09:00:40   作者:身如柳絮随风扬  
这篇文章主要为大家详细介绍了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 &
  • nohup:忽略挂断信号(SIGHUP),终端关闭后进程继续运行
  • &:将进程放入后台执行

2. 查看系统负载

top

top输出中关注:

  • load average:1分钟、5分钟、15分钟的平均负载,一般不超过CPU核心数
  • %CPU:进程CPU占用率
  • %MEM:进程内存占用率
  • zombie:僵尸进程数量

六、系统故障排查思路

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 已停止维护,企业逐步迁移至:

  • Rocky Linux
  • AlmaLinux
  • Ubuntu Server

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常用命令的资料请关注脚本之家其它相关文章!

相关文章

  • Easypanel免费的VPS主机面板 可跨平台Linux和Windows

    Easypanel免费的VPS主机面板 可跨平台Linux和Windows

    Easypanel是一款免费的功能强大集开通虚拟主机,ftp空间,数据库等功能为一体的主机控制面板,具备跨平台(windows,linux),安全稳定、操作简便等特点,感兴趣的小伙伴们可以关注一下
    2017-07-07
  • 如何解决Too many levels of symbolic links的问题

    如何解决Too many levels of symbolic lin

    这篇文章主要介绍了如何解决Too many levels of symbolic links的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Linux查看PCIe版本及速率的方法

    Linux查看PCIe版本及速率的方法

    在本篇文章里小编给大家整理的是关于Linux查看PCIe版本及速率的方法以及相关知识点,需要的朋友们参考下。
    2019-10-10
  • Linux设置文件夹权限的几种常用操作方法

    Linux设置文件夹权限的几种常用操作方法

    在Linux系统里,若要把文件夹权限修改成所有用户都能对其进行修改,可借助chmod命令达成这一目的,不过,这样的设置会带来较大的安全风险,所以建议仅在测试环境或者对安全性要求不高的场景中使用,下面为你介绍几种常用的操作方法,需要的朋友可以参考下
    2025-05-05
  • Linux与Windows XP之间使用FTP互传文件

    Linux与Windows XP之间使用FTP互传文件

    在Windows下虚拟安装了Linux,又在Windows XP下用Serv-u软件架设了FTP服务器,然后我们就可以在虚拟机的Linux下登录该FTP服务器下载或上传文件了。
    2011-06-06
  • Linux使用perf跟踪.NET程序的mmap泄露的流程步骤

    Linux使用perf跟踪.NET程序的mmap泄露的流程步骤

    如何跟踪.NET程序的mmap泄露,这个问题困扰了我差不多一年的时间,即使在官方的github库中也找不到切实可行的方案,这几天我仔仔细细的研究这个问题,结合大模型的一些帮助,算是找到了一个相对可行的方案,本文将介绍Linux使用perf跟踪.NET程序的mmap泄露的流程步骤
    2025-05-05
  • Linux IO多路复用之epoll网络编程

    Linux IO多路复用之epoll网络编程

    今天小编就为大家分享一篇关于Linux IO多路复用之epoll网络编程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • linux下/etc/passwd文件的选项说明

    linux下/etc/passwd文件的选项说明

    /etc/passwd 文件是系统的主要文件之一。该文件中包含了所有用户登录名清单;为所有用户指定了主目录;在登录时使用的 shell 程序名称等。该文件还保存了用户口令;给每个用户提供系统识别号。
    2008-06-06
  • linux系统内核升级导致进不去系统的解决方案

    linux系统内核升级导致进不去系统的解决方案

    本文介绍了使用sudo apt-get update命令后,内核更新导致显示驱动不匹配的问题,提供了两种解决方法:重新安装系统驱动或进入旧内核系统删除新内核并更新GRUB,以恢复正常系统
    2026-01-01
  • Linux系统crontab定时运行shell脚本失败的问题及解决

    Linux系统crontab定时运行shell脚本失败的问题及解决

    这篇文章主要介绍了Linux系统crontab定时运行shell脚本失败的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论