文章目录
Linux服务器环境搭建与项目部署常用命令速查手册
前言
在Linux服务器部署项目的全流程中,命令是操作的核心工具。本手册针对服务器初始化、环境配置、项目部署及日常维护中的常用命令,从功能说明、实操示例到注意事项进行系统梳理,帮助新手快速掌握关键操作,减少失误风险。
一、系统管理与基础操作命令
1. 系统更新与包管理
yum(适用于CentOS/RHEL)
- 功能:管理系统软件包(安装、更新、卸载)
- 使用示例:
yum update -y # 升级所有软件包(-y自动确认) yum install -y 软件名 # 安装指定软件(如yum install -y wget) yum remove -y 软件名 # 卸载软件 yum search 关键词 # 搜索软件包 yum list installed # 查看已安装软件 - 注意事项:
- 执行
yum update前建议备份重要数据,避免更新导致兼容性问题 - 非root用户需加
sudo(如sudo yum install -y vim)
- 执行
apt(适用于Ubuntu/Debian)
- 功能:Ubuntu/Debian系列的包管理工具,替代
yum - 使用示例:
apt update # 更新软件源索引 apt upgrade -y # 升级已安装软件 apt install -y 软件名 # 安装软件 - 注意事项:
apt需要先执行update更新索引,再执行upgrade升级
2. 用户与权限管理
useradd / userdel
- 功能:创建/删除用户
- 使用示例:
useradd appuser # 创建appuser用户 userdel -r appuser # 删除用户并同时删除其家目录(-r必填,否则残留文件)
passwd
- 功能:设置用户密码
- 使用示例:
passwd appuser # 为appuser设置密码(输入时无明文显示,输完回车)
chmod
- 功能:修改文件/目录权限
- 使用示例:
chmod 755 script.sh # 赋予脚本读、写、执行权限(所有者),读、执行权限(其他用户) chmod +x script.sh # 快速添加执行权限(常用) - 注意事项:部署项目时,脚本/可执行文件需确保有执行权限(
+x)
二、文件与目录操作命令
1. 目录导航与查看
cd
- 功能:切换目录
- 使用示例:
cd /root/project # 切换到指定绝对路径 cd ../ # 切换到上一级目录 cd ~ # 切换到当前用户家目录
ls
- 功能:列出目录内容
- 使用示例:
ls # 列出当前目录文件(不含隐藏文件) ls -l # 详细列表(权限、大小、修改时间等) ls -a # 显示所有文件(包括隐藏文件,如.git、.bashrc) ls /root # 列出指定目录内容
2. 文件创建与编辑
touch
- 功能:创建空文件或更新文件时间戳
- 使用示例:
touch app.log # 创建空日志文件
vim / nano
- 功能:文本编辑(
vim功能强,nano更简单) - 使用示例:
vim config.ini # 用vim打开配置文件(按i进入编辑模式,ESC退出编辑,:wq保存退出,:q!强制退出不保存) nano config.ini # 用nano打开(Ctrl+O保存,Ctrl+X退出) - 注意事项:新手建议先熟悉
nano,避免vim操作不当导致文件未保存
3. 文件传输与压缩
scp
- 功能:跨服务器/本地与服务器传输文件
- 使用示例:
# 本地→服务器:把本地文件传到服务器指定目录 scp /local/path/file.jar root@服务器IP:/root/project/ # 服务器→本地:把服务器文件下载到本地 scp root@服务器IP:/root/project/logs.log /local/save/path - 注意事项:传输目录需加
-r参数(如scp -r /local/dir root@IP:/root/)
tar
- 功能:压缩/解压文件(常用格式:.tar.gz)
- 使用示例:
# 压缩:把dir目录压缩为dir_backup.tar.gz tar -zcvf dir_backup.tar.gz /path/to/dir # 解压:把压缩包解压到当前目录 tar -zxvf dir_backup.tar.gz - 参数说明:
z(gzip格式)、c(压缩)、x(解压)、v(显示过程)、f(指定文件名)
三、网络与服务管理命令
1. 网络状态查看
ifconfig / ip addr
- 功能:查看服务器IP地址等网络信息
- 使用示例:
ifconfig # 显示所有网卡信息(包含IP地址,如inet 192.168.1.100) ip addr # 新版Linux推荐使用,功能类似
netstat / ss
- 功能:查看端口占用与网络连接
- 使用示例:
netstat -tlnp # 查看所有监听的TCP端口及对应进程(t:TCP, l:监听, n:数字显示, p:进程) ss -tlnp # 功能同netstat,性能更优,推荐使用 netstat -tlnp | grep 8080 # 查看8080端口是否被占用
2. 防火墙管理
firewall-cmd(适用于CentOS 7+)
- 功能:管理防火墙规则(开放/关闭端口)
- 使用示例:
firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放80端口(HTTP) firewall-cmd --reload # 重新加载规则(使配置生效) firewall-cmd --zone=public --list-ports # 查看已开放端口 firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 关闭端口 - 注意事项:部署项目前必须开放项目使用的端口(如Python常用8000,Java常用8080)
ufw(适用于Ubuntu)
- 功能:Ubuntu的防火墙管理工具
- 使用示例:
ufw allow 80/tcp # 允许80端口TCP连接 ufw enable # 启用防火墙 ufw status # 查看防火墙状态
3. 服务管理(systemctl)
- 功能:管理系统服务(启动、停止、开机自启等)
- 使用示例:
systemctl start nginx # 启动Nginx服务 systemctl stop nginx # 停止服务 systemctl restart nginx # 重启服务 systemctl enable nginx # 设置开机自启 systemctl disable nginx # 取消开机自启 systemctl status nginx # 查看服务状态(是否运行、错误信息) - 注意事项:部署的项目(如Python/Java服务)建议用
systemctl管理,确保服务器重启后自动运行
四、环境安装与项目部署命令
1. Python环境相关
python3 / pip3
- 功能:Python解释器与包管理工具
- 使用示例:
python3 -V # 查看Python版本 pip3 install 包名 # 安装依赖包(如pip3 install flask) pip3 install -r requirements.txt # 批量安装项目依赖 pip3 list # 查看已安装包
虚拟环境命令
- 功能:隔离不同项目的Python依赖
- 使用示例:
pip3 install virtualenv # 安装虚拟环境工具 virtualenv venv # 创建名为venv的虚拟环境 source venv/bin/activate # 激活虚拟环境(激活后命令行前显示(venv)) deactivate # 退出虚拟环境
2. Java环境相关
java / javac / mvn
- 功能:Java运行、编译与项目构建
- 使用示例:
java -version # 查看JDK版本 javac Hello.java # 编译Java文件 java Hello # 运行编译后的class文件 mvn clean package # 用Maven打包项目(生成jar/war包) java -jar app.jar # 运行Spring Boot项目jar包
3. 项目部署辅助命令
nohup
- 功能:后台运行程序(关闭终端不中断)
- 使用示例:
nohup python3 app.py > app.log 2>&1 & # 后台运行Python脚本,日志输出到app.log nohup java -jar app.jar > app.log 2>&1 & # 后台运行Java jar包 - 说明:
2>&1表示将错误日志合并到普通日志,&表示后台运行
ps / kill
- 功能:查看/终止进程
- 使用示例:
ps -ef | grep python # 查看所有Python进程 ps -ef | grep app.jar # 查看Java项目进程 kill -9 进程ID # 强制终止指定进程(进程ID通过ps命令获取) - 注意事项:
kill -9为强制终止,可能导致数据未保存,优先尝试kill 进程ID(温和终止)
tail
- 功能:实时查看日志文件
- 使用示例:
tail -f app.log # 实时跟踪app.log日志(Ctrl+C退出) tail -n 100 app.log # 查看日志最后100行
五、注意事项
-
命令区分大小写:Linux命令严格区分大小写(如
Ls与ls不同),输入时需注意。 -
路径格式:Linux路径用
/分隔(如/root/project),与Windows的\不同。 -
权限控制:操作系统文件或其他用户目录时,需用
root权限(加sudo),否则会提示"Permission denied"。 -
谨慎操作危险命令:
rm -rf *:删除当前目录所有文件(-r递归,-f强制),误操作会导致数据丢失,执行前务必确认路径。mv:移动文件时,若目标路径文件已存在,会直接覆盖且无提示,建议先备份。
-
发行版差异:CentOS/RHEL用
yum,Ubuntu/Debian用apt;防火墙工具也不同(firewall-cmdvsufw),需根据服务器系统选择命令。 -
命令帮助:忘记命令用法时,可通过
命令 --help(如yum --help)或man 命令(如man ls)查看帮助文档。
六、总结
Linux命令是服务器部署的基础工具,掌握上述命令可覆盖从环境搭建到项目上线的核心操作。关键在于:
- 按场景分类记忆(如系统管理、文件操作、服务管理),避免零散学习;
- 注重实操,通过实际部署项目熟悉命令用法;
- 牢记风险命令的注意事项,操作前做好备份;
- 区分不同Linux发行版的命令差异,避免混用。
随着使用频率增加,你会逐渐形成自己的命令使用习惯,并能通过--help或搜索引擎快速解决陌生命令问题,最终实现高效、安全的服务器管理与项目部署。

3377

被折叠的 条评论
为什么被折叠?



