- 文档
- 教程
【免费下载链接】training-kit
Open source courseware for Git and GitHub
Bash(Bourne Again SHell)是 GNU 项目的标准 shell,也是 Linux/Unix 类系统上最常用的命令行环境。本文以开源仓库 training-kit 中的 GitHub Bash 速查表(及其多语言版本 马拉雅拉姆语版)为核心骨架,逐条拆解速查表中的全部命令,并结合仓库内的 Git 速查表 与 Git 指南 系列文档,帮助你一次性掌握 Bash 的安装、配置、目录与文件操作、输出重定向、权限管理、网络通信和系统监控能力,为 Git/GitHub 的日常开发打下坚实的命令行基础。
Bash 是什么:GNU 项目的"Bourne Again SHell"
速查表的引言部分对 Bash 给出了精确定义:Bash 是 GNU 项目的 shell,全称Bourne Again SHell,是一个 sh 兼容的 shell,同时吸收了 Korn shell(ksh)和 C shell(csh)中的实用特性。它旨在符合IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools标准,无论是编程还是交互式使用,都比 sh 提供了功能性改进。更重要的是,大多数 sh 脚本无需修改即可直接在 Bash 中运行,这使 Bash 成为事实上的兼容标准。
在 training-kit 仓库中,这份速查表与 Git 速查表一同构成 GitHub 官方培训课件(README 说明该仓库由 GitHub Professional Services 团队维护,采用 Jekyll + Markdown 构建,速查表使用 cheat-sheet 布局 渲染)。由于 Git 本身就是由 C、Shell、Perl 和 Tcl 写成的工具集(见 git-overview),精通 Bash 是高效使用 Git 的前提——本速查表正是为此设计。
安装 Bash:从 Windows 到 Linux/macOS
速查表指出,Bash 通常是 Linux/Unix 类机器上的原生应用,但在需要时也可手动安装。
Windows:借助 Cygwin 获得类 Unix 环境
由于 Bash 并非 Windows 原生程序,在 Windows 上需要借助Cygwin这类应用,才能获得与 Linux/macOS 相同的特性。Cygwin 在 Windows 上提供了一套 POSIX 兼容的运行环境,安装后即可在 Windows 中打开 Bash 终端。
此外,安装 Git for Windows(如通过git-scm下载)时自带的Git Bash也是一种轻量替代方案,它集成了 Git 与常用 Unix 工具,是 Windows 上使用 Git 命令行最常见的入口。
macOS 与 Linux:原生自带
速查表明确说明:Bash 在 Linux/Unix 类机器上原生安装。macOS 与主流 Linux 发行版(Debian/Ubuntu、Fedora 等)默认都带有 Bash。可用以下命令验证安装:
$ bash --version $ echo $BASH_VERSION若需在特定 Linux 发行版上安装配套工具链,可参考仓库中的 Git 安装指南,其中详细介绍了apt(Debian/Ubuntu)与dnf(Fedora)的安装流程。
配置 Shell:用 alias 打造个性化命令
速查表给出的第一个配置示例是别名(alias):
$ alias ls='ls -lGh'该命令将ls设置为:以长格式列出文件(-l)、彩色输出(-G,macOS 风格;Linux 上通常用--color=auto)、并提供文件大小后缀(-h,人类可读,如 K/M/G)。这样每次输入ls即可获得清晰、易读的文件列表。
别名只对当前终端会话生效;若希望长期生效,可将alias语句写入 shell 启动文件(如~/.bashrc或 macOS 的~/.bash_profile),并执行source ~/.bashrc重载。取消别名使用unalias ls,查看已有别名直接输入alias。
目录操作:导航、创建与删除
速查表第一板块聚焦目录的导航、创建与删除,核心命令如下:
$ pwd显示当前工作目录的完整路径。刚打开终端时通常位于主目录(~),pwd能随时确认当前位置,是防止在错误目录执行操作的第一道保险。
$ cd [directory]将工作目录切换到 [directory]。常用变体包括:cd ~返回主目录、cd /进入根目录、cd -回到上一个目录、cd ..返回父目录。
$ ls列出当前目录内容。ls是最常用的目录浏览命令,速查表随后给出了增强形式:
$ ls -la以详细格式列出目录内容,包括隐藏文件。其中-l显示权限、属主、大小、修改时间等长格式信息,-a显示以点开头的隐藏文件(如.gitignore、.bashrc)。
$ mkdir [directory]创建名为 [directory] 的新目录。实用扩展:mkdir -p a/b/c可递归创建多层嵌套目录;mkdir -m 755 dir可在创建时直接指定权限。
输出处理:掌控数据流
速查表第二板块讲解如何控制文件数据的流向,命令如下:
$ cat [file]输出 [file] 的全部内容。追加-n可同时显示行号,适合快速查看脚本或配置文件。
$ less [file]以分页方式输出 [file] 内容。less支持上下翻页(方向键/空格)、按/搜索关键字、按q退出,非常适合阅读长文件或命令输出。
$ head [file]输出 [file] 的前 10 行。追加参数可定制行数,如head -n 20 [file]输出前 20 行;与之对应的tail [file]输出末尾 10 行,tail -f [file]可实时跟踪日志文件增长。
重定向与管道是本板块的精髓:
$ [command] > [file]将 [command] 的输出写入 [file](覆盖已有内容)。例如ls -la > listing.txt把目录清单保存到文件。
$ [command] >> [file]将 [command] 的输出追加到 [file] 末尾。>与>>的区别在于前者清空重建、后者保留追加,是记录日志时的关键差异。
$ [command1] | [command2]将 [command1] 的输出作为 [command2] 的输入。管道是 Unix 哲学的体现,例如ls -la | grep "\.md"筛选出 Markdown 文件,ps ax | grep bash在进程列表中查找 Bash 进程。
$ clear清空 Bash 窗口。在终端输出混乱时快速恢复干净的命令行界面(快捷键Ctrl+L效果相同)。
文件操作:移动、重命名、创建与删除
速查表第三板块覆盖文件生命周期管理:
$ rm [file]删除 [file]。注意rm删除后无法通过回收站恢复,操作前务必确认路径。
$ rm -r [directory]删除整个 [directory] 及其所有内容(-r表示递归)。
$ rm -f [file]强制删除 [file](-f忽略不存在的文件且不提示确认);如需强制删除目录,组合为rm -rf [directory]。建议在重要目录中使用rm -i让每个删除都先经过确认。
$ mv [file-old] [file-new]将 [file-old] 重命名为 [file-new]。mv同时承担"移动"职责:mv [file] [directory]/可将文件移动到新目录;mv -i在覆盖已有文件前会提示。
$ cp [file] [directory]将 [file] 复制到 [directory],若目标已存在同名文件则可能覆盖。
$ cp -r [src-directory] [dest-directory]递归复制 [src-directory] 及其内容到 [dest-directory]。复制整个目录树时必须携带-r;cp -i可开启覆盖确认。
$ touch [file]更新 [file] 的访问与修改时间;若 [file] 不存在则创建空文件。touch常被用来快速新建占位文件或刷新文件时间戳。
文件与文件夹权限:读懂八进制权限
速查表第四板块讲解权限管理,首先给出核心命令:
$ chmod 755 [file]将 [file] 的权限修改为 755。速查表用引用块详细解释了八进制权限的构成:
八进制权限表示是一组针对 User(u,属主)、Group(g,属组)和 Others(o,其他用户)的权限值,每个位置的取值是 read(读,4)、write(写,2)与 execute(执行,1)之和。例如 755 表示:
- Owner = 7:读(4)+ 写(2)+ 执行(1)
- Group = 5:读(4)+ 执行(1)
- Others = 5:读(4)+ 执行(1)
即三位八进制数依次对应"属主/属组/其他"三类用户的权限总和,数值可通过下表快速查得:
| 数值 | 权限组合 | 含义 |
|---|---|---|
| 7 | 4+2+1 | 读 + 写 + 执行 |
| 6 | 4+2 | 读 + 写 |
| 5 | 4+1 | 读 + 执行 |
| 4 | 4 | 只读 |
| 0 | 0 | 无权限 |
$ chmod -R 600将 [directory] 及其内容的权限递归改为 600(属主可读可写,其他用户无任何权限),-R表示对目录及其内部所有文件生效。600 常用于密钥、凭据等敏感文件。
$ chown [user]:[group] [file]将 [file] 的属主更改为 [user]、属组更改为 [group];追加-R可同时作用于目录内全部内容。chown通常需要管理员权限(sudo)执行,在修改脚本或网站目录归属时非常关键。
网络与互联网:远程连接与文件传输
速查表第五板块提供网络诊断与远程操作命令:
$ ping [ip/host]向 [ip/host] 发送 ICMP 探测并显示往返时间等信息,用于判断主机是否可达与网络延迟。Windows 下ping默认发送 4 次,Linux/macOS 会持续发送,可用-c指定次数(如ping -c 4 github.com)。
$ curl -O [url]将 [url] 下载到当前工作目录。-O以远程文件名保存;-o [name]可自定义保存文件名;-L自动跟随重定向;-I仅获取响应头信息。
$ ssh [user]@[ip/host]以 [user] 身份建立到 [host] 的 SSH 连接。首次连接会提示确认主机指纹,默认端口为 22,可用-p [port]指定其他端口。
$ ssh-copy-id [user]@[host]将本机 SSH 公钥添加到 [host] 上 [user] 的授权文件(authorized_keys)中,从而实现免密或密钥登录。标准流程是:本地生成密钥对ssh-keygen -t rsa→ 执行ssh-copy-id user@host→ 之后ssh user@host无需再输密码。这也是 GitHub 推送代码免密的关键前置步骤(需将公钥添加到 GitHub 账户)。
$ scp [file] [user]@[ip/host]:/path/to/file将 [file] 安全复制到远程 [host] 的指定路径。scp基于 SSH 加密传输;复制整个目录需加-r;反向(远程拉取到本地)只需调换参数顺序。
$ wget [file]将 [file] 下载到当前工作目录。与curl不同,wget更擅长批量与断点续传,-O [name]指定输出文件名,-r支持递归镜像站点。
系统任务:监控与进程管理
速查表最后一个板块帮助你获取系统运行信息:
$ ps ax列出当前运行的全部进程。a显示所有用户的进程,x包含无终端控制的进程;组合ps aux还能显示 CPU/内存占用,是定位异常进程的常用手段。
$ top实时显示当前运行进程的动态信息(CPU、内存、负载等)。运行中按q退出,按k可交互式终止进程,top -o %MEM可按内存排序。
$ kill [pid]根据进程 ID [pid] 终止对应进程。默认发送 TERM(15)信号请求优雅退出;kill -9 [pid]发送 KILL 信号强制终止,通常作为最后手段。
$ killall [processname]终止所有名为 [processname] 的进程。相比kill不需要逐一手动查询 PID,适合批量结束同名进程,例如killall node。
$ df显示各文件系统的磁盘使用情况。搭配df -h以人类可读单位(G/M)输出,能快速判断磁盘是否即将写满。
$ du [filename]显示 [filename] 下所有文件与文件夹占用的磁盘空间。常用组合du -sh [filename]以摘要形式给出单个目录的总大小,是排查磁盘占用大户的首选。
把 Bash 与 Git/GitHub 工作流结合起来
本速查表作为 GitHub 官方培训课件的一部分,其目标读者正是 Git 用户。将上述命令嵌入 Git 日常流程,可以显著提升效率:
cd与ls:进入并浏览本地仓库目录,确认要操作的工作区内容;cat与less:查看.gitignore、配置文件或提交信息的草稿;pwd:在多个仓库之间切换时确认当前所处仓库,避免误提交;ssh与ssh-copy-id:配置 GitHub 的免密推送;scp可将仓库外的资源安全传输到远端服务器;ps、top、kill:排查占用资源的进程(如残留的构建或开发服务器进程);df、du:检查克隆大型仓库前的磁盘余量。
如果需要在仓库中找到与本文配套的 Git 命令速查,请查看 Git 速查表(另有 简体中文版),其中覆盖git config、分支、提交、同步、回滚等全部核心操作;想要理解 Git 的底层工作流,可继续阅读 Git 总览指南 与 Git 安装指南。你也可以通过git clone https://gitcode.com/gh_mirrors/tr/training-kit将整个仓库克隆到本地,离线随时查阅全部速查表与指南。
结语:一份可随手查阅的命令行全景图
这份 Bash 速查表虽篇幅紧凑,却覆盖了从安装、别名配置、目录与文件管理、输出重定向、权限体系,到网络通信与系统监控的完整命令行能力矩阵。把它当作日常开发的"第一参考",配合本仓库的 Git 速查表与系列指南,你就能在终端中完成从环境准备、代码编写到版本管理与协作发布的全链路操作。
- 文档
- 教程
【免费下载链接】training-kit
Open source courseware for Git and GitHub
相关推荐
GitHub Training Kit Bash 速查手册:从安装配置到系统运维的完整命令指南
GitHub Training Kit Bash 速查手册:从安装配置到系统运维的完整命令指南 本篇技术指南以开源仓库 training kit 中的官方速查文
文档教程SuperClaude Framework 推荐命令实战速查:从安装、测试到日常开发的一站式命令行指南
SuperClaude Framework 推荐命令实战速查:从安装、测试到日常开发的一站式命令行指南 本文以仓库内 docs/reference/sugges
开发工具CLIAI 技能/插件测试人工智能AI 评测10分钟上手DefaultEcs:从零构建你的第一个实体组件系统
10分钟上手DefaultEcs:从零构建你的第一个实体组件系统 DefaultEcs是一款专为游戏开发设计的实体组件系统(ECS)框架,它以简洁的语法和卓越的
开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考