
1. 为什么需要整理常用命令集作为一个每天与终端打交道的开发者我发现自己经常在重复输入相同的git、bash和vim命令。每次需要执行某个操作时要么得翻找历史记录要么得去搜索引擎查询语法。这种低效的工作方式让我下定决心整理一份属于自己的命令手册。命令集整理的核心价值在于减少重复劳动把常用命令固化下来避免每次使用时都要回忆或查找提高工作效率通过命令别名和快捷方式把多步操作简化为一步统一工作习惯确保在不同项目和环境中使用一致的命令风格便于知识传承新团队成员可以通过命令集快速上手项目规范2. Git命令全收录2.1 基础版本控制操作# 初始化仓库 git init # 克隆远程仓库 git clone repository_url # 查看当前状态 git status # 添加文件到暂存区 git add file git add . # 添加所有变更 # 提交变更 git commit -m commit message # 查看提交历史 git log git log --oneline --graph --all # 简洁可视化历史提示养成频繁提交的习惯每个提交应该只包含一个逻辑变更这样在需要回退时会更加灵活。2.2 分支管理实战# 创建新分支 git branch branch_name # 切换分支 git checkout branch_name git switch branch_name # 更新语法 # 创建并切换到新分支 git checkout -b branch_name # 合并分支 git merge branch_name # 删除分支 git branch -d branch_name # 安全删除 git branch -D branch_name # 强制删除未合并分支 # 查看所有分支 git branch -a分支命名规范建议feature/xxx功能开发分支bugfix/xxx缺陷修复分支hotfix/xxx紧急修复分支release/xxx版本发布分支2.3 远程仓库协作# 添加远程仓库 git remote add name url # 查看远程仓库 git remote -v # 推送本地分支到远程 git push remote branch # 拉取远程变更 git pull remote branch # 获取远程变更但不合并 git fetch remote # 跟踪远程分支 git branch --set-upstream-toremote/branch local_branch协作时常见问题处理冲突解决使用git mergetool或手动编辑冲突文件后git add撤销本地提交git reset --hard HEAD~1修改最近提交git commit --amend3. Bash命令精华3.1 文件系统操作# 导航目录 cd directory cd ~ # 回家目录 cd - # 返回上一个目录 # 列出文件 ls ls -la # 显示隐藏文件和详细信息 # 创建目录 mkdir directory mkdir -p path/to/directory # 创建多级目录 # 文件操作 cp source destination mv source destination rm file rm -rf directory # 递归强制删除慎用 # 查看文件内容 cat file less file # 分页查看 head -n 10 file # 查看前10行 tail -n 10 file # 查看后10行 tail -f file # 实时追踪日志3.2 进程与系统管理# 查看进程 ps aux ps -ef | grep process_name # 终止进程 kill pid kill -9 pid # 强制终止 # 磁盘空间 df -h # 磁盘使用情况 du -sh directory # 目录大小 # 内存使用 free -h # 系统信息 uname -a top htop # 需要安装3.3 高效工作技巧# 命令历史 history !number # 执行历史中第n条命令 !! # 重复上一条命令 !$ # 上一条命令的最后一个参数 # 别名设置添加到~/.bashrc alias llls -la alias gsgit status alias gpgit pull alias gcmgit commit -m # 重定向 command output.txt # 输出重定向 command output.txt # 追加输出 command 2 error.log # 错误重定向 command all.log # 所有输出重定向 # 管道 command1 | command2 # 将command1输出作为command2输入4. Vim编辑器核心命令4.1 基本导航与编辑# 启动vim vim file # 模式切换 i # 插入模式 ESC # 返回普通模式 v # 可视模式 : # 命令模式 # 光标移动 h j k l # 左 下 上 右 w # 下一个单词开头 b # 上一个单词开头 0 # 行首 $ # 行尾 gg # 文件开头 G # 文件末尾 :number # 跳转到指定行 # 编辑操作 x # 删除当前字符 dd # 删除当前行 yy # 复制当前行 p # 粘贴 u # 撤销 Ctrlr # 重做4.2 高级编辑技巧# 搜索替换 /search_term # 搜索 n # 下一个匹配项 :%s/old/new/g # 全局替换 :%s/old/new/gc # 带确认的替换 # 多文件操作 :e file # 打开新文件 :sp file # 水平分割窗口 :vsp file # 垂直分割窗口 Ctrlw 方向键 # 切换窗口 # 宏录制 qa # 开始录制宏到寄存器a q # 停止录制 a # 执行寄存器a中的宏4.3 实用配置建议将以下配置添加到~/.vimrc可以显著提升编辑效率 基本设置 set number 显示行号 set tabstop4 tab宽度 set shiftwidth4 自动缩进宽度 set expandtab 用空格代替tab set hlsearch 高亮搜索结果 set incsearch 实时搜索 syntax on 语法高亮 快捷键映射 nnoremap C-s :wCR Ctrls保存 inoremap jk ESC 用jk退出插入模式 插件管理(Vim-plug示例) call plug#begin(~/.vim/plugged) Plug preservim/nerdtree 文件浏览器 Plug vim-airline/vim-airline 状态栏 Plug tpope/vim-fugitive Git集成 call plug#end()5. 命令集管理与优化5.1 创建个人命令手册建议将常用命令整理到~/.my_commands文件中并通过以下方式快速访问# 添加到bashrc function cmdhelp() { less ~/.my_commands } # 或者使用alias alias chelpcat ~/.my_commands | grep命令文件示例结构 Git gs : git status gl : git log --oneline --graph --all gp : git pull gc : git commit -m ... Bash .. : cd .. ... : cd ../.. ll : ls -la5.2 自动化常用工作流将复杂操作封装为脚本或函数# 示例快速提交并推送 function gitacp() { git add . git commit -m $1 git push } # 示例查找并替换多个文件中的文本 function batch_replace() { find . -type f -name $1 -exec sed -i s/$2/$3/g {} }5.3 跨设备同步配置使用Git管理dotfiles实现配置同步# 初始化dotfiles仓库 git init --bare $HOME/.dotfiles alias config/usr/bin/git --git-dir$HOME/.dotfiles/ --work-tree$HOME # 添加配置文件 config add ~/.bashrc config add ~/.vimrc config commit -m Add bash and vim config config push在新设备上恢复配置git clone --bare repo_url $HOME/.dotfiles alias config/usr/bin/git --git-dir$HOME/.dotfiles/ --work-tree$HOME config checkout6. 疑难问题排查指南6.1 Git常见问题问题合并冲突解决方案运行git status查看冲突文件手动编辑文件解决冲突搜索标记使用git add标记冲突已解决完成合并git commit问题误提交敏感信息解决方案# 从历史中彻底删除文件 git filter-branch --force --index-filter \ git rm --cached --ignore-unmatch file \ --prune-empty --tag-name-filter cat -- --all6.2 Bash脚本调试问题脚本语法错误调试方法bash -n script.sh # 检查语法 bash -x script.sh # 跟踪执行问题命令找不到检查路径echo $PATH which command type command6.3 Vim异常处理问题Vim卡死恢复方法Ctrlc尝试中断如果无效在另一个终端执行killall -9 vim vim -r file # 尝试恢复交换文件问题插件冲突排查步骤启动vim时跳过插件加载vim -u NONE逐个启用插件测试检查:messages查看错误信息7. 进阶技巧与工具链7.1 Git增强工具tigGit的文本模式界面sudo apt install tig tig # 在仓库内运行diff-so-fancy美化Git diff输出git config --global core.pager diff-so-fancy | less --tabs4 -RFXgit-extras额外的Git命令集合git summary # 仓库概览 git effort # 文件修改频率7.2 Bash增强配置starship现代化的命令行提示符curl -sS https://starship.rs/install.sh | sh # 添加到~/.bashrc eval $(starship init bash)fzf模糊查找工具# 安装 sudo apt install fzf # 使用 Ctrlr # 搜索历史 Ctrlt # 文件选择7.3 Vim插件推荐coc.nvim智能补全引擎vim-surround快速处理包围符号vim-commentary快速注释代码fzf.vim集成fzf进行文件搜索安装示例使用vim-plugPlug neoclide/coc.nvim, {branch: release} Plug tpope/vim-surround Plug tpope/vim-commentary Plug junegunn/fzf, { do: { - fzf#install() } } Plug junegunn/fzf.vim8. 性能优化与习惯养成8.1 终端响应速度优化减少启动时间# 检查bashrc加载时间 time bash -i -c exit # 延迟加载大型工具 # 在bashrc中添加 if [ -f ~/.bash_heavy ]; then . ~/.bash_heavy fi选择性加载# 只在特定目录加载特定配置 if [[ $PWD /path/to/project* ]]; then source ~/.project_specific_rc fi8.2 高效工作习惯命令补全善用Tab键自动补全历史搜索Ctrlr反向搜索历史命令快速跳转配置z或autojump快速访问常用目录会话保存使用tmux或screen保存工作环境8.3 持续学习路径每周学习1-2个新命令并加入个人手册关注man手册中的SEE ALSO部分发现相关命令参与开源项目学习他人的工作流定期回顾和整理命令集删除不再使用的命令我在实际工作中发现建立一个私人命令wiki可以用Markdown格式特别有用不仅能记录命令语法还能添加使用场景和注意事项。每当学习到新技巧时立即添加到wiki中并设置每周固定时间进行回顾整理。这个习惯让我在三年内积累了一套高度个性化的高效工作流节省了大量重复劳动时间。