在本文中,我们将探讨一种简单的技巧,可以节省您在终端中输入重复命令的时间。
作为开发者,我们花费大量时间在终端上执行命令。无论是浏览目录、运行脚本、更改 Node.js 版本还是版本控制命令,手动输入每个命令都是一项耗时的任务。
对于那些难以记住命令或其关联标志的人来说,这可能变得更加乏味。
别担心!这个问题有一个简单而强大的解决方案。它被称为终端别名。
(本文视频讲解:java567.com)
alias
命令
alias
命令允许您为现有命令创建快捷方式,使它们更容易记住和更快执行。当您定义别名时,实际上是为现有命令创建了一个新标签。
alias
命令的语法
语法很简单:您可以像在大多数编程语言中为变量赋值一样将命令分配给标签。
bash
alias 别名='长命令'
设置别名的语法
让我们解析这个命令以更好地理解它:
alias
:启用定义别名的终端命令。别名
:这是您要分配给命令的名称或标签。基本上,您将在终端中键入此名称,而不是完整的命令。'长命令'
:这是您要添加别名的命令。请确保用单引号 ('
) 包装命令,因为几乎所有命令都包含空格或特殊字符。
预定义别名
终端中已经设置了一些预定义别名。很有可能您甚至不知道它们的存在。
这些别名在系统(/etc/bash.bashrc
)或用户特定(~/.bashrc
)的 shell 配置文件中定义。
您可以通过执行不带任何选项或标志的 alias
命令来找到所有预定义别名的列表。
alias
以字母顺序列出所有预定义和用户定义的别名。
如何创建跨会话持久的别名
默认情况下,别名仅在当前会话中持久。这意味着,如果您关闭终端,则别名将被删除,之后您将无法使用它。
为了解决这个问题,您必须在 shell 的配置文件中定义别名。Shell 是一个解释器,驻留在终端内部,并在您和操作系统之间建立接口。因此,访问正确的 shell 以及修改正确的配置文件非常重要。
以下是三个最常用的 shell 应用程序的配置文件:
- Bash :
~/.bashrc
- Zsh :
~/.zshrc
- Fish :
~/.config/fish/config.fish
让我们尝试在 Bash 中添加一个新别名。
echo "alias nrd='npm run dev'" >> ~/.bashrc
让我们解析这个命令:
echo
:一个终端命令,允许您在终端命令中写入内容。"alias ..."
:这是我们在前面讨论的内容。它是一个别名命令,为npm run dev
命令添加了nrd
别名。>>
:告诉终端将左侧的内容(别名命令)追加到右侧的文件中。在我们的情况下,我们将其存储在 bash 配置文件中。~/.bashrc
:这是从 echo 命令添加内容的文件。
不要忘记将 ~/.bashrc
替换为您的 shell 配置文件。
如何创建动态别名
通常情况下,您需要使用重复的命令,但根据您的需求稍作修改。最好的例子是 Git 命令。在这种情况下,您可以为命令添加一个替代项,该替代项在终端执行时将被动态选项/参数替换。
alias gpll='git pull --rebase origin ${branch}'
在执行命令时,您需要将 ${branch}
替换为您想要从中拉取更改的分支。这是从 main
分支拉取更改的方式:
gpll main
您还可以为别名添加多个替代项。只需确保以正确的实际值顺序编写别名即可:
alias gpll='git pull --rebase ${remote} ${branch}
在执行命令时,您需要将 ${remote}
和 ${branch}
替换为适当的值,如下所示:
gpll origin main
如何为多个命令创建别名
有时您需要按顺序使用多个命令。您也可以为此创建别名。使用 &&
将每个命令分隔开,这会在左侧命令执行后执行右侧命令。
gpsh='git pull --rebase && git push'
如何删除别名
如果您想要从当前会话中删除别名,可以使用 unalias
命令。此命令只接受一个参数 ------ 别名名称。
unalias my-alias-name
但是,如果您想要删除保存在配置文件中的别名,则需要从文件本身中删除它。您可以使用 Nano 等简单的文本编辑器来执行此操作。
nano ~/.bashrc
向下滚动到底部找到所有别名并删除您不再需要的别名。
完成后,您可以保存后退出编辑器。这是我可以介绍关于无法退出基于终端的文本编辑器的一个段子的地方。但是使用 Nano,很简单:
- 如果您在 Linux 上,请按
ctrl
+x
,如果您在 Mac 上,请按^
+x
。 - 按
Y
确认更改 - 根据您的操作系统按 Enter 或 Return 保存文件。
看?一点都不难 😃
注意事项
在创建别名时,有两件重要的事情您必须记住。
别名受 shell 限制
别名是特定于您正在使用的 shell 的。在一个 shell 中创建的别名在另一个 shell 中不起作用。
如果要在不同的会话中使用别名,您必须创建一个新的别名。没有绕过此注意事项的方法。您可以手动将别名保存到您使用的所有 shell 的配置文件中。
别名默认为会话绑定
别名仅在当前会话中可用。如果打开新的终端窗口或注销,该别名将不可用。
因此,建议始终将别名保存到配置文件中,以便随时使用。
简述
alias
命令将 快捷方式 添加到命令或一系列命令中。alias shortcut='existing valid command
。- 将别名保存到 shell 的配置文件中,以便跨会话持久化。每个 shell 都有一个唯一的配置文件。
echo "nrd='npm run dev'" >> ~/.bashrc
。 - 通过用占位符替换动态值来创建动态别名。占位符必须用
${}
包装起来。在终端中应执行alias gp='git pull origin ${branch}
作为gp main
。 - 使用
&&
将多个命令添加到别名中。 - 使用
unalias
命令从当前会话中删除别名。
总结
我希望本文能帮助您优化时间并提高开发者的生产力。如果确实如此,请不要忘记与同事分享,以便他们也可以提高效率。
(本文视频讲解:java567.com)