开发工具
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 + OMZ | Fish |
|---|---|---|
| 自动补全 | 插件支持 | 开箱即用 |
| 语法高亮 | 插件支持 | 开箱即用 |
| 配置难度 | 中等 | 简单 |
| POSIX兼容 | 是 | 否 |
| 社区资源 | 丰富 | 较少 |
| 脚本兼容 | bash脚本兼容 | 需要改写 |
现代命令行工具
这些Rust编写的新工具比传统命令更快、更好用:
| 传统工具 | 现代替代 | 改进点 |
|---|---|---|
| ls | eza(原exa) | 彩色输出、Git状态 |
| cat | bat | 语法高亮、行号 |
| find | fd | 更快、更友好的语法 |
| grep | ripgrep(rg) | 快10倍以上 |
| top | btop/htop | 现代UI |
| du | dust | 可视化磁盘占用 |
| diff | delta | 更好的diff展示 |
| cd | zoxide | 智能目录跳转 |
| curl | httpie | 更友好的HTTP客户端 |
| man | tldr | 简洁的命令示例 |
# 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/Debian | apt | sudo apt install package |
| Fedora | dnf | sudo dnf install package |
| Arch | pacman | sudo pacman -S package |
| Alpine | apk | sudo apk add package |
| openSUSE | zypper | sudo 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开发环境的搭建是一次性投入,收益长期。建议:
- 选择Zsh + Oh My Zsh作为默认Shell
- 用现代CLI工具替换传统命令
- 掌握tmux进行终端复用
- 配置好SSH密钥和config
- 熟悉系统包管理器
这些工具和技巧会伴随你的整个开发生涯,越早掌握越好。