开发工具

Linux开发环境必备工具:从包管理到Shell配置

为开发者整理Linux环境必备工具,涵盖包管理、Shell配置、系统监控、文件管理等方面的实用工具推荐。

#Linux #开发环境 #Shell #命令行工具

Linux是开发者的最佳操作系统

虽然很多人在Mac或Windows上开发,但Linux始终是服务端的主流操作系统。掌握Linux开发工具不仅能让你更高效地运维服务器,也能显著提升本地开发效率(WSL/虚拟机用户同样适用)。

Shell选择与配置

Zsh + Oh My Zsh

Zsh配合Oh My Zsh是目前最流行的Shell配置方案。

# 安装Zsh
sudo apt install zsh   # Debian/Ubuntu
sudo dnf install zsh   # Fedora

# 安装Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 设为默认Shell
chsh -s $(which zsh)

推荐的Oh My Zsh插件

# ~/.zshrc
plugins=(
  git                  # Git快捷命令
  z                    # 智能目录跳转
  docker               # Docker命令补全
  kubectl              # Kubernetes补全
  sudo                 # 双击Esc添加sudo
  copypath             # 复制当前路径
  web-search           # 命令行搜索
  history-substring-search  # 历史命令搜索
)

Fish Shell:另一个选择

特性Zsh + OMZFish
自动补全插件支持开箱即用
语法高亮插件支持开箱即用
配置难度中等简单
POSIX兼容
社区资源丰富较少
脚本兼容bash脚本兼容需要改写

现代命令行工具

这些Rust编写的新工具比传统命令更快、更好用:

传统工具现代替代改进点
lseza(原exa)彩色输出、Git状态
catbat语法高亮、行号
findfd更快、更友好的语法
grepripgrep(rg)快10倍以上
topbtop/htop现代UI
dudust可视化磁盘占用
diffdelta更好的diff展示
cdzoxide智能目录跳转
curlhttpie更友好的HTTP客户端
mantldr简洁的命令示例
# Ubuntu/Debian一键安装
sudo apt install bat fd-find ripgrep htop

# macOS一键安装
brew install eza bat fd ripgrep btop dust git-delta zoxide httpie tldr

# 在.zshrc中设置别名
alias ls="eza --icons"
alias ll="eza -la --icons --git"
alias cat="bat"
alias find="fd"
alias grep="rg"
alias top="btop"

bat:更好的cat

# bat自动语法高亮
bat config.yml
bat --theme="Catppuccin-mocha" main.py

# 作为man页面的高亮器
export MANPAGER="sh -c 'col -bx | bat -l man -p'"

ripgrep:更快的grep

# 在项目中搜索(自动忽略.gitignore中的文件)
rg "useState" --type ts

# 搜索并替换(配合sed)
rg "oldFunction" -l | xargs sed -i 's/oldFunction/newFunction/g'

# 统计匹配数量
rg "TODO" --count

包管理器

各发行版包管理器

发行版包管理器安装命令
Ubuntu/Debianaptsudo apt install package
Fedoradnfsudo dnf install package
Archpacmansudo pacman -S package
Alpineapksudo apk add package
openSUSEzyppersudo zypper install package

Homebrew on Linux

是的,macOS上的Homebrew也支持Linux了:

# 安装Linuxbrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 使用和macOS一样
brew install node python golang

系统监控工具

# btop - 现代化的系统监控
btop

# 磁盘使用分析
dust         # 可视化目录大小
df -h        # 磁盘分区使用情况
ncdu /var    # 交互式磁盘分析

# 网络监控
ss -tlnp     # 查看监听端口
nethogs      # 按进程显示网络流量

tmux:终端复用神器

tmux是远程开发的必备工具,SSH断开后会话不会丢失。

# 安装
sudo apt install tmux

# 基本使用
tmux new -s dev         # 创建会话
tmux attach -t dev      # 重新连接
tmux ls                 # 列出会话

# 常用快捷键 (Ctrl+b是前缀键)
# Ctrl+b c  新建窗口
# Ctrl+b %  水平分屏
# Ctrl+b "  垂直分屏
# Ctrl+b d  断开会话
# Ctrl+b n  下一个窗口
# Ctrl+b p  上一个窗口

推荐的tmux配置

# ~/.tmux.conf
# 修改前缀键为Ctrl+a
set -g prefix C-a
unbind C-b

# 开启鼠标支持
set -g mouse on

# 设置终端颜色
set -g default-terminal "tmux-256color"

# 分屏快捷键
bind | split-window -h
bind - split-window -v

# 窗口切换
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# 状态栏美化
set -g status-style bg=default
set -g status-left "#[fg=green]#S "
set -g status-right "#[fg=yellow]%H:%M"

Docker在Linux上的使用

Linux是运行Docker的最佳平台,没有macOS上的性能损耗。

# Ubuntu安装Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

远程连接配置

配置好SSH是Linux远程开发的基础。推荐搭配VS Code的Remote SSH插件,可以获得几乎和本地一样的开发体验。

使用好的终端工具连接Linux服务器,开发体验会更好。

总结

Linux开发环境的搭建是一次性投入,收益长期。建议:

  1. 选择Zsh + Oh My Zsh作为默认Shell
  2. 用现代CLI工具替换传统命令
  3. 掌握tmux进行终端复用
  4. 配置好SSH密钥和config
  5. 熟悉系统包管理器

这些工具和技巧会伴随你的整个开发生涯,越早掌握越好。