跳到主要内容

🛠️ 开发环境配置

Linux 是开发者的天堂——大多数开发工具在 Linux 上运行最好。本章覆盖配置高效开发环境的核心技能。

本地开发 vs 远程开发
  • 本地开发(WSL / 虚拟机 / 物理机):工具直接装在本地 Linux
  • 远程开发(SSH + VS Code Remote):工具装在远程 Linux 服务器,本地 VS Code 通过 SSH 连接

两种场景配置方法完全一样,只是工具装在哪台机器上。

⚙️ 编译器与调试器

GCC / G++(C/C++)

# Ubuntu/Debian
sudo apt install build-essential # 包含 gcc, g++, make, libc-dev
gcc --version
g++ --version

# Fedora/RHEL
sudo dnf groupinstall "Development Tools"

# Arch
sudo pacman -S base-devel

编译 C 程序:

# hello.c
#include <stdio.h>
int main() {
printf("Hello, Linux!\n");
return 0;
}

# 编译
gcc hello.c -o hello

# 带调试信息编译(用于 GDB 调试)
gcc -g hello.c -o hello

# 优化级别:-O0(无优化) / -O1 / -O2(推荐) / -O3 / -Os(体积优化)
gcc -O2 hello.c -o hello

Clang / Clang++

GCC 的替代品,错误信息更友好,静态分析更强。

# Ubuntu
sudo apt install clang

# 使用(和 gcc 参数基本兼容)
clang hello.c -o hello

GDB(调试器)

# 安装
sudo apt install gdb

# 调试程序
gdb ./hello

# GDB 常用命令
(gdb) run # 运行程序
(gdb) break main # 在 main 函数设断点
(gdb) break file.c:42 # 在指定行设断点
(gdb) next # 下一行(不进入函数)
(gdb) step # 下一行(进入函数)
(gdb) print var # 打印变量值
(gdb) backtrace # 查看调用栈
(gdb) quit # 退出
VS Code 调试更香

直接用 VS Code + C/C++ 插件,图形化调试,比 GDB 命令行舒服多了。

配置 .vscode/launch.json 即可,不用记 GDB 命令。

🏗️ 构建工具

Make

最经典的构建工具,通过 Makefile 定义构建规则。

# Makefile 示例
CC = gcc
CFLAGS = -Wall -g

all: app

app: main.o utils.o
$(CC) -o app main.o utils.o

main.o: main.c
$(CC) $(CFLAGS) -c main.c

clean:
rm -f *.o app
make # 构建
make clean # 清理
make -j4 # 4 个并行任务(加速)

CMake

更高级的构建系统生成器,跨平台,生成 Makefile/ninja 文件。

# CMakeLists.txt 示例
cmake_minimum_required(VERSION 3.10)
project(MyApp)

set(CMAKE_C_STANDARD 11)

add_executable(myapp main.c utils.c)
# 构建流程
mkdir build && cd build
cmake .. # 生成 Makefile
make # 构建

🔀 版本控制辅助

Git 配置优化(开发者视角)

# 1. 美化 git log
git config --global alias.lg "log --oneline --graph --decorate --all"

# 2. 自动纠正命令拼写
git config --global help.autocorrect 10

# 3. 默认 push 当前分支
git config --global push.default current

# 4. 彩色输出
git config --global color.ui auto

# 5. 编辑器设为 VS Code
git config --global core.editor "code --wait"

gh(GitHub CLI)

# 安装
sudo apt install gh

# 登录
gh auth login

# 常用操作
gh repo create # 创建仓库
gh pr create # 创建 PR
gh issue list # 列出 issue
gh run watch # 查看 CI 运行

📦 多版本管理

开发者经常需要同时安装多个版本的语言运行时。用版本管理器,不用系统包管理器。

Node.js — fnm(推荐)或 nvm

# 安装 fnm(Fast Node Manager)
curl -fsSL https://fnm.vercel.app/install | bash

# 安装 Node.js 版本
fnm install 20
fnm install 18
fnm use 20

# 查看已安装版本
fnm ls

Python — pyenv

# 安装 pyenv
curl https://pyenv.run | bash

# 安装 Python 版本
pyenv install 3.12.0
pyenv install 3.10.12
pyenv global 3.12.0

# 项目级 Python 版本
cd myproject
echo "3.10.12" > .python-version # pyenv 自动切换

Go — gvm 或直接下载

# 方式 1:gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# 方式 2:直接下载(推荐)
wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

Rust — rustup

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Java — SDKMAN!

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

sdk list java # 列出可用 Java 版本
sdk install java 21.0.2-oracle
sdk use java 17.0.10-tem
版本管理器选择指南
语言推荐工具理由
Node.jsfnm比 nvm 快,Rust 编写
Pythonpyenv虚拟环境管理完善
Go直接下载官方 tarball 最简单
Rustrustup官方工具,Rust 专属
JavaSDKMAN!支持 Maven/Gradle 等多工具
Rubyrbenv类似 pyenv 哲学

🛠️ 开发工具推荐清单

必装工具(一次搞定)

# Ubuntu/Debian 一键安装
sudo apt update
sudo apt install -y \
build-essential \ # 编译器工具链
git \ # 版本控制
curl wget \ # HTTP 客户端
jq \ # JSON 处理
tree \ # 目录树显示
htop \ # 进程监控(比 top 好)
ripgrep \ # 快速代码搜索(rg)
fd-find \ # 快速文件查找(fd)
bat \ # cat 的现代化替代品
tmux \ # 终端复用器
vim \ # 编辑器
neovim \ # vim 的现代化版本
ca-certificates \ # CA 证书(HTTPS 必需)
openssh-client # SSH 客户端

现代化 CLI 工具推荐

传统工具现代化替代安装方式
lseza / lsdcargo install eza
catbatsudo apt install bat
grepripgrep(rg)sudo apt install ripgrep
findfdsudo apt install fd-find
duduf / ncdusudo apt install ncdu
dfdufcargo install duf
topbtop / htopsudo apt install htop
mantealdeer(tldr)cargo install tealdeer

📚 下一步