目录
- 前言
- 一、远程连接与基础准备
- 二、整机资源全面巡检(必做)
- 2.1 查看系统版本、内核与架构(全能命令:uname -a)
- 2.2 查看 CPU 与内存硬件配置
- 2.3 磁盘分区、容量与挂载分析(重点)
- 2.4 主机与网络基础信息
- 三、目录结构与工作区存储规划(核心)
- 四、开发环境初始化配置
- 五、常见问题排查与解决方案
- 六、总结与落地最佳实践
- 附录:高频巡检命令速查表
前言
拿到一台全新 Linux 服务器 / 虚拟机后,不要直接安装软件或存放项目。优先完成整机资源巡检、磁盘分区识别、工作目录规划,是保障后续开发稳定、避免服务器宕机的关键。
本文为通用教程,兼容 CentOS、Ubuntu 等主流 Linux 发行版,适用于物理机、云服务器、开发虚拟机。全程使用通用命令与标准路径,无特定企业、业务、私有目录信息,可作为通用新机器上手手册。
一、远程连接与基础准备
- 远程登录服务器
常规使用 SSH 协议连接,推荐密钥登录提升安全性,基础连接命令:
bash
# 密码登录格式
ssh 用户名@服务器IP
- 系统基础更新(可选)
根据系统发行版执行更新,修复基础漏洞、同步软件源:
bash
# CentOS / RHEL 系列
yum update -y
# Ubuntu / Debian 系列
apt update && apt upgrade -y
- 安装通用基础工具
提前安装运维、开发常用工具,后续巡检、编辑、下载均可直接使用:
bash
# CentOS 系列
yum install -y wget vim git net-tools lsof
# Ubuntu 系列
apt install -y wget vim git net-tools lsof
二、整机资源全面巡检(必做)
拿到新机器第一步必做巡检,全面掌握硬件、系统、存储资源,为后续目录规划提供依据。
2.1 查看系统版本、内核与硬件架构
uname -a 是 Linux 最全能的系统信息查询命令 ,一条命令即可查看主机名、内核版本、编译时间、系统架构等全部核心信息,无需拆分多个命令,推荐优先使用。
bash
# 全能命令:一次性查看全部系统核心信息
uname -a
# 备用拆分命令(按需使用)
# 查看内核版本
uname -r
# 查看硬件架构(x86_64 / aarch64 等)
uname -m
# 汇总主机、系统、虚拟化完整信息
hostnamectl
# 查看系统完整发行版信息(全系统通用)
cat /etc/os-release
输出示例
Linux server-hostname 5.10.0-1.0.0.35 #2 SMP Thu Mar 7 12:18:27 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
完整字段逐行解读
| 输出字段 | 含义说明 |
|---|---|
| Linux | 操作系统内核名称 |
| server-hostname | 服务器主机名 |
| 5.10.0-1.0.0.35 | 内核版本号(判断系统兼容性核心参数) |
| #2 SMP | 编译序号 + SMP(多核处理器支持) |
| Thu Mar 7 12:18:27 UTC 2024 | 内核编译发布时间 |
| x86_64 | 硬件架构(第一个:运行架构 第二个:CPU架构 第三个:系统架构) |
| GNU/Linux | 系统类型 |
关键判断标准
- Architecture(x86_64):64 位通用服务器架构,主流标准;
- Kernel 5.x:高版本内核,兼容性、性能更强;
- SMP:支持多核 CPU,服务器必备特性。
2.2 查看 CPU 与内存硬件配置
评估机器运算、并发、编译能力,判断是否满足开发 / 服务部署需求:
bash
# 查看CPU详细信息:型号、物理核、逻辑线程、缓存
lscpu
# 精简查看CPU核心与线程
cat /proc/cpuinfo | grep -E 'model name|cpu cores|siblings'
# 查看内存使用(人性化单位展示,推荐)
free -h
# 查看内存底层详细信息
cat /proc/meminfo
核心指标解读
CPU:关注物理核心数、逻辑线程数、CPU 主频,核心越多越适合代码编译、多服务并行;
内存:关注 total(总内存)、available(可用内存),可用内存越高,运行大型程序、数据集越流畅;
Swap:交换分区,若为 0 代表未配置,大内存机器一般无需开启。
2.3 磁盘分区、容量与挂载分析(重中之重)
磁盘分区决定工作目录选择、服务器稳定性,是整个上手流程最核心的环节。
1)查看所有磁盘分区、总容量、已用、剩余、挂载点
bash
df -h
| 字段名 | 含义 | 巡检关注点 |
|---|---|---|
| Filesystem | 磁盘设备名称 | 区分系统盘、独立数据盘 |
| Size | 分区总容量 | 判断分区大小是否满足业务 |
| Used | 已使用空间 | 存量数据多少 |
| Avail | 剩余可用空间 | 后续可存放数据上限 |
| Use% | 空间使用率 | 使用率高于 80% 视为空间紧张 |
| Mounted on | 挂载目录 | 文件实际存放路径 |
通用分区区分
/:系统根分区(系统盘),系统所有核心文件默认存放于此;- 其他独立挂载目录:一般为外置数据盘 / 独立数据分区,专门用于存放业务数据。
2)查看单个目录实际占用空间
统计根目录下所有一级文件夹的存量大小,快速定位大目录:
bash
# 统计根目录下所有文件夹占用大小
du -sh /*
# 单独查看某个目录占用(示例)
du -sh /home
du -sh /data
2.4 主机与网络基础信息
确认网络连通性、主机名,保障远程访问与外网访问正常:
bash
# 查看本机网卡与IP地址
ip addr
# 传统命令(需安装 net-tools)
ifconfig
# 测试外网连通性
ping www.baidu.com -c 3
# 查看主机名
hostname
三、目录结构与工作区存储规划(核心)
3.1 Linux 标准目录作用说明
Linux 有固定标准目录,不同目录定位不同,严格区分系统目录与业务目录:
| 目录路径 | 标准用途 | 开发使用建议 |
|---|---|---|
| /home | 普通用户默认家目录 | 仅存放个人配置、小文件,不建议存放大型项目 / 数据集 |
| /root | 管理员 root 用户家目录 | 系统管理专用,禁止存放业务代码 |
| /tmp | 系统临时目录 | 存放临时解压、临时编译文件,系统会定期自动清理 |
| /var | 系统日志、缓存、运行数据 | 系统自动维护,禁止手动写入大文件 |
| /usr | 系统预装软件、依赖库 | 系统级工具目录,不存放业务项目 |
| /mnt | 外置设备默认挂载目录 | 常用于挂载独立数据盘,可作为工作区备选 |
| 自定义目录(如 /data) | 手动创建的数据分区 | 推荐作为主力开发工作目录 |
3.2 系统分区 vs 独立数据分区 区别与风险
服务器磁盘一般分为两类,二者风险、用途完全不同,务必区分:
| 对比维度 | 系统分区(根分区 /) | 独立数据分区(外置数据盘) |
|---|---|---|
| 容量特点 | 容量普遍偏小 | 容量大,专为存储业务设计 |
| 空间风险 | 风险极高:分区占满会导致无法创建文件、SSH 断开、服务器宕机 | 风险极低:即使分区占满,系统运行完全不受影响 |
| 数据安全 | 系统重装 / 故障时,数据易丢失 | 与系统隔离,重装系统不丢失数据 |
| 适用场景 | 系统文件、用户配置、小型工具 | 项目代码、编译产物、数据集、镜像、日志 |
| 开发推荐 | ❌ 不建议存放主力项目 | ✅ 优先作为开发工作目录 |
3.3 开发工作目录选型与规范搭建
结合磁盘巡检结果,按以下规则选择并搭建工作区:
1)目录选择原则
优先选择 独立数据分区(df -h 中除 / 以外的大分区)作为主力工作区;
系统分区 /、/home 仅保留原有文件,不再新增大型项目;
临时文件统一放 /tmp,禁止长期存放源码、重要数据。
2)通用工作目录搭建步骤(示例)
假设巡检后,独立数据盘挂载在 /data,执行以下命令搭建标准化工作区:
bash
# 进入独立数据分区根目录
cd /data
# 分层创建标准化目录,分类管理文件
mkdir -p workspace/{projects,dataset,tools,logs,temp}
# 目录说明
# projects : 存放所有代码项目
# dataset : 存放测试数据、数据集
# tools : 存放第三方开发工具、SDK
# logs : 业务程序日志(避免写入系统日志目录)
# temp : 个人临时文件
3)配置环境变量(快速进入工作区)
将工作目录写入环境变量,后续可一键跳转:
bash
# 写入环境变量到用户配置文件
echo "export WORK_SPACE=/data/workspace" >> ~/.bashrc
# 生效配置
source ~/.bashrc
# 之后可直接使用命令进入工作区
cd $WORK_SPACE
四、开发环境初始化配置
4.1 安装基础工具与编译依赖
根据开发语言、编译需求,安装通用编译工具链:
bash
# CentOS 安装全套编译工具
yum groupinstall -y "Development Tools"
# Ubuntu 安装编译依赖
apt install -y build-essential
# 示例:安装 Python 环境(按需选择)
yum install -y python3 python3-pip
apt install -y python3 python3-pip
4.2 Git 代码仓库配置
统一配置用户名、邮箱,用于拉取、提交代码:
bash
# 全局配置用户名
git config --global user.name "自定义名称"
# 全局配置邮箱
git config --global user.email "自定义邮箱"
# 拉取代码(规范:代码必须拉取到独立数据分区)
cd $WORK_SPACE/projects
git clone 代码仓库地址
4.3 账户权限安全配置
不建议长期使用 root 账户做日常开发,新建普通用户并分配目录权限:
bash
# 创建普通开发用户
useradd -m devuser
# 为用户设置密码
pass devuser
# 给开发目录分配读写权限
chown -R devuser:devuser /data/workspace
chmod -R 755 /data/workspace
# 切换为普通用户开展开发工作
su - devuser
五、常见问题排查与解决方案
问题 1:系统分区空间使用率过高,告警 / 无法写入文件
现象:df -h 查看根分区使用率超过 80%,新建文件报错 No space left on device
解决步骤:
- 清理系统临时文件
bash
rm -rf /tmp/*
- 迁移存量项目:将
/home或系统盘下的大型项目,移动到独立数据分区
bash
# 移动目录示例
mv /home/old_project /data/workspace/projects/
# 可选:建立软链接,兼容旧路径
ln -s /data/workspace/projects/old_project /home/old_project
- 长期规范:所有新项目直接创建在独立数据分区。
问题 2:识别到新磁盘,但未自动挂载
现象:lsblk 能看到磁盘设备,df -h 无对应挂载目录
排查与挂载:
bash
# 查看整机磁盘列表
lsblk
# 临时手动挂载(示例:将 /dev/sdb 挂载到 /data)
mkdir -p /data
mount /dev/sdb /data
# 设置开机自动挂载(永久生效)
echo "/dev/sdb /data ext4 defaults 0 2" >> /etc/fstab
# 校验挂载配置,无报错即正常
mount -a
问题 3:进入数据分区提示权限不足
现象:普通用户无法读写、创建文件
解决:重新分配目录属主与权限
bash
chown -R 用户名:用户组 /目标目录
chmod -R 755 /目标目录
六、总结与落地最佳实践
核心原则
- 先巡检,后使用 :新机器第一步必须执行
df -h、free -h、lscpu、uname -a,摸清资源现状; - 分区隔离:业务代码、大数据集、镜像一律放在独立数据分区,不和系统盘混用;
- 目录规范:统一分层目录,分类存放项目、数据、工具、日志,便于维护迁移;
- 权限规范:日常开发使用普通用户,root 账户仅用于系统管理。
标准上手流程
远程连接服务器 → 系统 & 硬件巡检 → 识别系统盘 / 数据盘 → 搭建标准化工作区 → 安装开发依赖 → 拉取项目开始开发。
附录:高频巡检命令速查表
| 功能场景 | 执行命令 |
|---|---|
| 查看全能系统信息(推荐) | uname -a |
| 查看系统版本 | cat /etc/os-release |
| 查看内核与架构 | uname -r && uname -m |
| 查看 CPU 信息 | lscpu |
| 查看内存使用 | free -h |
| 查看磁盘分区与挂载 | df -h |
| 查看目录占用大小 | du -sh 目标目录 |
| 查看整机磁盘列表 | lsblk |
| 查看 IP 地址 | ip addr |
更新说明
- 新增
uname -a全能命令:一条命令替代多个拆分指令,适合新手快速掌握; - 完整字段解读:无企业/主机信息,通用所有 Linux 服务器;
- 排版对齐原文风格:保持 CSDN 教程格式、代码块、表格统一;
- 附录同步更新:速查表新增核心命令,方便快速查阅。