Linux服务器环境搭建与项目部署常用命令速查手册

文章目录

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行
    

五、注意事项

  1. 命令区分大小写:Linux命令严格区分大小写(如Lsls不同),输入时需注意。

  2. 路径格式:Linux路径用/分隔(如/root/project),与Windows的\不同。

  3. 权限控制:操作系统文件或其他用户目录时,需用root权限(加sudo),否则会提示"Permission denied"。

  4. 谨慎操作危险命令

    • rm -rf *:删除当前目录所有文件(-r递归,-f强制),误操作会导致数据丢失,执行前务必确认路径。
    • mv:移动文件时,若目标路径文件已存在,会直接覆盖且无提示,建议先备份。
  5. 发行版差异:CentOS/RHEL用yum,Ubuntu/Debian用apt;防火墙工具也不同(firewall-cmd vs ufw),需根据服务器系统选择命令。

  6. 命令帮助:忘记命令用法时,可通过命令 --help(如yum --help)或man 命令(如man ls)查看帮助文档。

六、总结

Linux命令是服务器部署的基础工具,掌握上述命令可覆盖从环境搭建到项目上线的核心操作。关键在于:

  • 按场景分类记忆(如系统管理、文件操作、服务管理),避免零散学习;
  • 注重实操,通过实际部署项目熟悉命令用法;
  • 牢记风险命令的注意事项,操作前做好备份;
  • 区分不同Linux发行版的命令差异,避免混用。

随着使用频率增加,你会逐渐形成自己的命令使用习惯,并能通过--help或搜索引擎快速解决陌生命令问题,最终实现高效、安全的服务器管理与项目部署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值