Linux 开发环境 setup
本文介绍配置 Linux 开发环境的流程,按照步骤配置后,可初步完成开发环境搭建。
本文以 Ubuntu/Debian 系统为例,部分命令给出了 MacOS 版本。其他发行版请自行替换命令。
1 - 推荐
1.1 配置 apt 镜像
1.1.1 全平台换源工具 chsrc
# 使用维护团队测试的最快镜像站
# <target>: ubuntu, debian, rocky ...
chsrc set <target> first
1.1.2 手动换源
sudo apt install ca-certificates
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
1.2 依赖库&工具
# Ubuntu
sudo apt-get update
sudo apt-get install autoconf automake build-essential \
cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev \
libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libogg-dev libopus-dev \
libsamplerate-dev libspeex-dev libtheora-dev libtool libtool-bin libvorbis-dev \
libx264-dev libxml2-dev m4 make nasm patch pkg-config tar yasm zlib1g-dev \
python3 python3-pip python3-dev python3-setuptools zip curl wget
1.4 升级 Git 版本
1.5 zsh
1.6 Mackup: 配置备份/同步
1.7 配置全局 gitignore
- 配置方法: global gitignore
2 - 可选依赖
根据个人开发需求,选择性安装。
2.1 Python
2.1.1 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
2.1.2 Miniconda
2.2 Node.js
选择其中一种安装方式:
利用 FNM 安装(推荐)
bashcurl -fsSL https://fnm.vercel.app/install | bash fnm install --lts && fnm default 22 # 假设 LTS 版本为 22
利用 NVM 安装
直接安装: Node.js Download
2.3 neovim
3 - 命令行工具
3.1 Rust 命令行工具
3.1.1 Linux 用户安装
if ! [[ command -v rustup &> /dev/null ]]; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
fi
rustup update stable
cargo install fd-find
cargo install bat --locked
cargo install ripgrep
cargo install du-dust
cargo install procs
cargo install git-delta
cargo install tealdeer
cargo install eza
cargo install bottom
cargo install xh --locked
cargo install zoxide --locked
One-liner:
cargo install --locked bat xh zoxide
cargo install fd-find ripgrep du-dust procs git-delta tealdeer eza bottom
3.1.2 MacOS 用户安装
brew install fd
brew install bat
brew install ripgrep
brew install dust
brew install procs
brew install git-delta
brew install tealdeer
brew install eza
brew install bottom
brew install xh
brew install zoxide fzf
One-liner:
brew install fd bat ripgrep dust procs git-delta tealdeer eza bottom xh zoxide fzf
3.1.2 工具说明
rust: 方便编译安装其他命令行工具
fd
: 替代find
bat
: 替代cat
rg
: ripgrep,替代grep
dust
: 替代du
procs
: 替代ps
atuin
: shell 历史记录增强delta
: syntax-highlighting git difftldr
: 查阅命令的简单用法eza
: a modern replacement forls
bash# linux x64 wget -c https://github.com/eza-community/eza/releases/latest/download/eza_x86_64-unknown-linux-gnu.tar.gz -O - | tar xz sudo chmod +x eza sudo chown root:root eza sudo mv eza /usr/local/bin/eza
bottom
: 图形化进程、系统 monitorbash# via snap sudo snap install bottom # To allow the program to run as intended sudo snap connect bottom:mount-observe sudo snap connect bottom:hardware-observe sudo snap connect bottom:system-observe sudo snap connect bottom:process-control
xh
: 替代httpie
zoxide
: 替代autojump|z
, 基于目录访问频率进行智能匹配
3.2 其他
3.2.1 atuin: shell 历史记录增强
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
# 或者编译安装
# cargo install atuin
# 或者使用 brew 安装
# brew install atuin
atuin import auto
3.2.2 zellij: 终端复用
zellij: 终端复用工具,比 tmux 好用
安装:
cargo install --locked zellij
3.2.3 fastfetch: 获取并打印系统信息
Fastfetch: Fastfetch is a Neofetch-like tool for fetching system information and displaying it prettily.
# for Ubuntu only
# 如果 `add-apt-repository` 命令不存在,需要先安装 `software-properties-common`:
# sudo apt install -y software-properties-common
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt-get update
sudo apt-get install fastfetch
3.2.4 navi: 命令行 cheatsheet 工具
navi: 命令行 cheatsheet 工具
cargo install --locked navi
# 或者使用 brew 安装
brew install navi
3.2.5 thefuck: 快速纠正输错的命令
Linux 用户:
pip3 install thefuck --user
MacOS 用户:
brew install thefuck
3.2.6 Yazi: 命令行文件管理器
Linux (apt):
# 安装依赖
# sudo apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick # 其中 fd-find, ripgrep, zoxide 在前面步骤已经安装了
sudo apt install ffmpeg 7zip jq poppler-utils imagemagick
# 如果找不到 7zip,把上述命令中的 7zip 换成 p7zip-full:
# sudo apt install ffmpeg p7zip-full jq poppler-utils imagemagick
# 之后用 cargo 安装(也可以去 Release 页面下载)
cargo install --locked yazi-fm yazi-cli
MacOS 使用 brew 安装:
# brew install yazi ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick font-symbols-only-nerd-font
# 其中 fd, ripgrep, zoxide 在前面步骤已经安装了
brew install yazi ffmpeg sevenzip jq poppler fzf resvg imagemagick font-symbols-only-nerd-font
3.2.7 sttr: 字符串转换工具
sttr: cross-platform, cli app to perform various operations on string
Linux:
curl -sfL https://raw.githubusercontent.com/abhimanyu003/sttr/main/install.sh | sh
MacOS:
brew install abhimanyu003/sttr/sttr
3.2.8 trzsz
trzsz
与 rz
和 sz
类似,是一个跨平台的终端文件传输工具,支持在终端中快速传输文件。需要客户端与服务端都支持。
服务端有 Go / Python / JS 版本,推荐安装 Go 版本。
安装:
# Ubuntu
sudo apt update && sudo apt install software-properties-common
sudo add-apt-repository ppa:trzsz/ppa && sudo apt update
sudo apt install trzsz
在本地 PC / Mac 上安装 tssh 作为客户端:
# MacOS
brew update
brew install trzsz-ssh
# Windows
winget install tssh
用 tssh
代替 ssh
命令登录到目标服务器后,就可以使用 trz
和 tsz
命令进行文件传输了:
# 下载文件
tsz /path/to/file
# 上传文件
trz /directory/for/upload/