Bash 别名

17 Mar 2025 | 4 分钟阅读

我们在操作命令行界面时会用到大量的命令。 大多数命令都是习惯性的,人们可能每天都以相同的方式运行这些命令。 但是,我们在 Bash 中有一个选项,可以通过别名创建我们自己的快捷方式,这将通过使用缩短的名称来消除不必要的键入。

Bash 别名用于为更长的命令设置快捷命令。 别名命令允许我们使用单个单词启动任何命令或设置命令。 例如,我们可以将命令“cc”设置为“clear”命令的快捷方式。 使用“cc + 回车”比键入“clear”命令要快得多。

别名通常在 ~/.bash_profile~/.bashrc 文件中声明。

".bash_profile.bashrc 文件被称为 bash shell 的配置文件。 所有 bash 配置,例如所有终端会话、包含环境变量、默认目录、颜色、bash 主题等的配置,都存储在配置文件中。 终端会话的配置文件的名称通常是“.bashrc”,而登录 shell 的名称是“.bash_profile”。"

Bash 别名结构

bash 别名包含以下结构

一个新的别名是在新的一行中使用 'alias' 关键字定义的。 我们需要定义我们想与别名一起使用的快捷命令名称,然后是等号。 然后,我们在引号内键入我们要运行的完整命令。 邻近元素和等号之间不应有空格。 记住这一点很重要; 否则,命令将被破坏。

创建一个 Bash 别名

在 bash 中创建别名非常简单。 我们可以通过遵循上面显示的结构将别名声明到命令行中。

现在,让我们从一个简单的 bash 别名开始。 许多人用来获取所有文件和目录(包括隐藏文件)列表的常用命令之一是“ls -la”。 我们可以创建一个快捷方式“ll”来执行“ls -la”的操作,方法是在终端中键入以下命令

现在,如果我们输入别名“ll”,我们将在终端中收到与“ls -la”命令类似的长格式的文件和目录列表。

Bash Alias

注意:应该注意的是,如果我们通过这种方式使用终端设置别名,则别名将仅对当前的 shell 会话可用。 当我们打开一个新的终端窗口时,别名将不可用。

如果我们想让定义的别名保持持久,我们必须将其添加到 shell 会话启动时读取的文件之一中。 最常见的选择是 ~/.bash_profile~/.bashrc,正如我们之前提到的。 我们需要打开这些文件中的任何一个,并在其中添加别名。

Bash Alias

将易于记忆的名称分配给别名是一个好习惯。 还建议添加一个注释,声明与 bash 别名相关的所有功能,以供将来参考。

如果我们想让我们的 .bashrc 文件更加模块化,那么我们可以将别名放在一个单独的文件中,即 ~/.bash_aliases。 我们需要确保代码出现在 ~/.bashrc 文件中

删除/删除 Bash 别名

要删除别名,我们需要使用以下结构

要删除我们上面创建的“ll”别名,我们可以使用 unalias 命令


Bash Alias

“ll”别名将被删除。

如果别名在 ~/.bash_profile~/.bashrc 中声明,只需使用文本编辑器编辑该文件并从中删除这些别名。

列出 Bash 别名

我们可以通过在终端中使用“alias”命令(没有任何参数)来列出所有配置的别名

它看起来像这样

Bash Alias

带参数的 Bash 别名(Bash 函数)

在某些情况下,我们可能需要接受一个或多个参数的别名。 在这种情况下,bash 函数很有用。

以下是创建 bash 函数的语法。 它可以以两种不同的格式声明

要将任意数量的参数传递给 bash 函数,我们可以将它们放在函数名称之后,用空格分隔。 传递的参数可以是 $1、$2、$3 等。 它通常取决于函数名称之后的参数的相应位置。 变量 $0 保留用于函数名称。

现在,我们将创建一个简单的 bash 函数,它将创建一个目录,然后进入该目录,而无需使用 'mkdir' 和 'cd' 命令

就像别名一样,我们需要将该函数添加到 ~/.bashrc 文件中,然后运行 source~/.bash_profile 重新加载该文件。 在这里,AND 运算符 (&&) 确保仅在第一个命令成功执行时才运行第二个命令。 双连字符 (--) 符号确保我们没有向该命令传递额外的参数。

现在,我们可以创建一个新目录,然后使用该命令进入该目录


Bash Alias

因此,别名是减少重复键入长命令量的绝佳替代方案。


下一话题Git Bash