☰
GitHub Training Kit 之 Bash 速查表深度解析:从安装配置到系统任务的一站式命令行指南
2026/10/13 9:46:36 网站建设 项目流程
  • 文档
  • 教程

【免费下载链接】training-kit

Open source courseware for Git and GitHub

项目地址:https://gitcode.com/gh_mirrors/tr/training-kit
点击查看免费下载

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)

即三位八进制数依次对应"属主/属组/其他"三类用户的权限总和,数值可通过下表快速查得:

数值权限组合含义
74+2+1读 + 写 + 执行
64+2读 + 写
54+1读 + 执行
44只读
00无权限
$ 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

项目地址:https://gitcode.com/gh_mirrors/tr/training-kit
点击查看免费下载

相关推荐

上一篇:如何快速掌握跨平台文件系统:Windows用户的完整Btrfs解决方案
下一篇:重新定义跨平台存储:深入探索Windows上的Btrfs文件系统驱动WinBtrfs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询