🐧 在Linux服务器上部署项目是每个开发者和运维工程师必备的技能。本文整理了项目部署过程中最常用的Linux命令,包括软件安装、防火墙配置、Vim编辑器使用、Nginx操作等核心操作,帮助你快速掌握Linux服务器管理的要点。
📦 软件包管理
Ubuntu/Debian系列
Ubuntu系统使用apt-get作为包管理器:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sudo apt-get update
sudo apt-get upgrade
sudo apt-get install 软件包名
sudo apt-get install lrzsz
sudo apt-get remove 软件包名
|
重要提醒:在执行apt-get upgrade命令之前,必须先执行apt-get update命令更新软件包列表。
🔥 防火墙配置
Ubuntu系统(UFW)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| sudo ufw enable
sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 22
sudo ufw status
sudo ufw delete allow 80
sudo ufw disable
sudo ufw reload
|
UFW特点:在Ubuntu系统中,修改防火墙规则后无需重启,配置立即生效。
CentOS系统(Firewalld)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| sudo systemctl start firewalld
sudo firewall-cmd --list-ports
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
sudo systemctl reload firewalld
sudo systemctl enable firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld
|
✏️ Vim编辑器使用
Vim是Linux系统中最强大的文本编辑器:
模式切换
文件操作
1 2 3 4 5 6 7
| :w :q :wq :q! :wq! :x
|
编辑操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| yy nyy p
/关键词 ?关键词 n N
:set number :set nonumber :noh
|
🌐 Nginx操作
以下命令适用于编译安装的Nginx:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| /usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s quit
|
使用systemctl管理(如果配置了服务)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl status nginx
sudo systemctl enable nginx
|
🔄 进程管理
后台运行程序
关闭SSH不会挂起程序的运行:
1 2 3 4 5
| nohup java -jar application.jar > /dev/null 2>&1 &
nohup java -jar application.jar > app.log 2>&1 &
|
注意:输入exit退出终端,不能直接关闭终端窗口。
进程查看和管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| ps aux
ps aux | grep java ps aux | grep nginx ps aux | grep tomcat
top
netstat -tlnp netstat -tlnp | grep 8080
kill -9 PID
killall java pkill -f "java.*application.jar"
|
📁 文件和目录操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| pwd ls -la cd /path/to/directory mkdir dirname rmdir dirname rm -rf dirname
touch filename cp source dest mv source dest rm filename
cat filename less filename head -n 20 filename tail -n 20 filename tail -f filename
|
🛠️ 系统信息查看
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| uname -a cat /etc/os-release uptime whoami
free -h df -h lscpu
ifconfig ping google.com
|
📋 常用命令速查表
软件包管理
| 操作 |
Ubuntu/Debian |
CentOS/RHEL |
| 更新包列表 |
apt-get update |
yum update |
| 安装软件 |
apt-get install pkg |
yum install pkg |
| 卸载软件 |
apt-get remove pkg |
yum remove pkg |
防火墙管理
| 操作 |
Ubuntu (UFW) |
CentOS (Firewalld) |
| 启用防火墙 |
ufw enable |
systemctl start firewalld |
| 开放端口 |
ufw allow 80 |
firewall-cmd --add-port=80/tcp --permanent |
| 查看状态 |
ufw status |
firewall-cmd --list-ports |
| 重载配置 |
ufw reload |
firewall-cmd --reload |
Vim快捷键
| 操作 |
命令 |
说明 |
| 插入模式 |
i |
在光标位置插入 |
| 保存退出 |
:wq |
保存并退出 |
| 强制退出 |
:q! |
不保存强制退出 |
| 复制行 |
yy |
复制当前行 |
| 粘贴 |
p |
粘贴到光标下方 |
进程管理
| 操作 |
命令 |
说明 |
| 查看进程 |
ps aux |
显示所有进程 |
| 实时进程 |
top |
实时显示进程 |
| 终止进程 |
kill -9 PID |
强制终止进程 |
| 后台运行 |
nohup cmd & |
后台运行命令 |
🎯 实战技巧
1. 一键部署脚本示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #!/bin/bash
echo "开始部署应用..."
pkill -f "application.jar"
if [ -f "application.jar" ]; then mv application.jar application.jar.bak.$(date +%Y%m%d_%H%M%S) fi
echo "启动新应用..." nohup java -jar application.jar > app.log 2>&1 &
echo "部署完成!" echo "查看日志:tail -f app.log"
|
2. 系统状态检查脚本
1 2 3 4 5 6 7 8 9
| #!/bin/bash
echo "=== 系统状态检查 ===" echo "时间:$(date)" echo "系统负载:$(uptime | awk '{print $10,$11,$12}')" echo "内存使用:$(free -h | grep Mem | awk '{print $3"/"$2}')" echo "磁盘使用:$(df -h / | tail -1 | awk '{print $5}')" echo "========================"
|
📚 学习建议
- 循序渐进:先掌握基本命令,再学习高级用法
- 多加练习:在安全的测试环境中反复练习
- 建立备忘录:记录常用命令和参数
- 学会查帮助:使用
man命令查看详细帮助
- 自动化思维:将重复操作写成脚本
📝 总结
掌握这些Linux命令对于项目部署和服务器管理至关重要。通过本文的整理,你应该能够:
- ✅ 熟练使用包管理器安装和管理软件
- ✅ 正确配置防火墙保护服务器安全
- ✅ 使用Vim编辑器进行文件编辑
- ✅ 管理Nginx等Web服务器
- ✅ 进行进程管理和后台运行
- ✅ 处理常见的系统管理任务
记住,Linux命令的学习是一个渐进的过程,多练习、多思考,逐步积累经验。建议在实际项目中反复使用这些命令,形成肌肉记忆,这样在需要的时候就能快速响应。
温馨提示:在生产环境中执行任何操作前,务必先在测试环境验证,并做好数据备份。安全第一!