自定义命令行快捷方式 (aliases)

上图展示的是,bash 命令设置别名的例子

在本文中,你将会学到如何给 bash 命令创建别名,以及如何通过一个 bash 命令运行多个命令。

TL;DR — 第一部分描述了为 bash 命令设置别名的重要性,以及可以节省多少时间等等,如果你只是想学习如何设置 bash 命令的别名,请跳至步骤1。step 1

提高效率

随着我们的成长(我知道,时光飞逝),我们肩上承担着更多的责任。例如:照顾家庭,理财,花时间陪伴亲人,送小孩上幼儿园以及其他成人世界相关的生活中的事情。

时间是影响工作效率的重要因素,尤其是对程序开发这者来讲。所有的这些新的责任,如果你想花更少的时间去学习它了解它,那么效率就很重要。

如果你想成为一个厉害的 Web 开发人员,把开发当成你自己的事业,教书育人,或者只是提高你自己的的开发技巧,我将每周发布有关最新 Web 开发语言的提示和技巧。

程序员的世界

作为一程序员,在项目开发中,我们经常多次运行一些相同的 bash 命令。例如:cd ..ls -l 或者 pwd 。如果在开发中运行这些命令的频率是每周一次,那不会影响开发的效率。但是从长远的角度来看,每天运行两次呢?

在 bash 命令中有些命令很长,有些很短,有些很难记,有些就很容易记住。利用这些 bash 命令的重点是要提高开发的效率,这就意味着你可以自己去创造一些可读性比较好的,易于记住容易编写的 bash 命令的别名。

需要注意的地方是不是为每个命令创建别名,而是为那些频繁使用的命令创建别名。并且注意不要用某些保留字去做别名,并且编写完之后,先进行测试。

简化 git 命令

我做了一个简单的测试,为了说明将更改的代码推送到 Github 需要多少时间。 一般来说,平均每个程序员将更改的代码推送到[github.com](http://www.github.com/
大约需要 20-25 秒。 

# 测试
git add . 
git commit - m "minor changes" 
git push -u origin master

假设你每周至少进行 15 次 git push 操作,而将更改的代码推送到仓库的的总时间大约需要 20 秒。

  • 一周将花费 5 分钟
  • 一个月就要花费 20 分钟
  • 一年就花费 4 个小时

如果我们将者三条命令合并,通过别名 lazyman "minor changes"去执行, 花费的时间将从 20 秒降到 5 秒。

  • 一周将花费 1.25分钟
  • 一个月就要花费 5 分钟
  • 一年就花费 1 个小时

一般来讲,我们已经将效率提高 3 倍。 这还只是一个简单的例子,但是可以想象的到我们节省了多少时间。例如,我们每天需要运行  run apache server && run tests && report data && close 或者 gcc project-source-code.c -o executable-file-name 15–30次 。

如何统计性能提升了多少? (对于严谨的人来说)

# 公式
((旧- 新) / 旧) * 100%= ((20  - 5 秒) / 20 秒) * 100%
= 75 % (性能提升) 

在给 bash 命令创建别名之前

为了创建别名,一般将创建的命令存放在  ~/.bashrc  文件中。这是一个隐藏的文件,你可以在你的终端中任何位置打开它。然而,良好的编程习惯要求我们,最好是将系统文件和个人创建的文件分开。因此,我们在用户的家目录创建一个 ~/.custom_aliases  文件,用来存放你编写的别名。 同时,要记住每次对这个文件进行修改时,记得运行 source ~/.custom_aliases  命令,否则你的修改将不会生效。

步骤 1 — 创建一个 custom_aliases 文件

你创建的所有别名都必须存储在此文件中。

# 创建文件
touch ~/.custom_aliases

步骤 2 — 打开 custom_aliases 文件

通过文本编辑器打开 custom_aliases 文件,你可以通过  geditcode (Visual Studio Code) 或者其他你喜欢和常用的编辑器

Visual Studio Code (如果你已经安装了)

# 打开文件
code ~/.custom_aliases

Gedit

# 打开文件
gedit ~/.custom_aliases

步骤 3 — 创建快捷方式 (aliases)

让我们创建一个简单的别名,当我们在 bash 终端中输入「Welcome」时,它将打印出「Welcome John Doe」。

alias welcome='echo "Welcome $USER."'

步骤 4 — 更新修改内容

在执行新创建的 bash 命令之前,必须更新 custom_aliases 文件。

# 更新文件
source ~/.custom_aliases

步骤 5 — 执行新的 bash 命令

在你首选的命令行中输入以下内容。

# 命令行
welcome
> Welcome John Doe.

做得好!现在你已经创建了一个用于定义别名的自定义文件,让我们看看您可以创建哪些类型的命令。

自定义bash命令别名

下面是一些我用来提高工作效率的bash命令别名。

温馨提示: 为了保证添加的命令别名更具有结构化,请将相关的别名放在对应的注释下面,就像下面的例子一样。

# Version Control
alias gs="git status"
alias gd="git add ."
alias gp="git push -u origin master"
# Directory
alias diskusage="df -h"
alias folderusage="du -ch"
alias totalfolderusage="du -sh"
# Various
alias opencustomaliases="code  ~/.custom_aliases"
alias updatecustomaliases="source ~/.custom_aliases"
alias updatethenupgrade="sudo apt-get update && sudo apt-get upgrade"

特别注意的是不同的操作系统可能会有所不同,在添加bash命令别名到custom_aliases文件之前,要在终端测试,确保这些命令是正确的。

一次运行多个命令

你也可以通过一条语句来运行多个命令。有两种方法可以实现:创建函数或别名。

示例 1 — 创建函数

# Multiple commandsfunction lazyman() {
    git add .
    git commit -a -m "$1"
    git push -u origin master
}

示例 2 — 创建别名

# Multiple commandsalias lazyman="git add . && git commit -a -m '$1' && git push -u origin master"

别忘了运行 source ~/.custom_aliases 命令来更新 custom_aliases 文件,接下来键入命令 lazyman "First commit" 就OK了。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://codeburst.io/learn-how-to-create...

译文地址:https://learnku.com/server/t/36309

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!