我最喜欢的 Bash 技巧、窍门和快捷键

2025-05-28

我最喜欢的 Bash 技巧、窍门和快捷键

如果您使用 DEV,您很可能会花至少一些时间在终端上,甚至可能花很多时间。

这些年来,我从同行开发者那里学到了很多技巧和窍门。几乎每次我和新人结对编程时,我都会注意到他们做了一些很棒的事情,并向他们请教。

以下是我最喜欢的一些。

我使用 bash 作为我的默认终端,但大多数这些技巧也适用于其他终端。

注意:这篇文章并非旨在教授终端的基础知识。网上有很多很棒的资源(我记得我刚开始学习的时候上过Codecademy 的命令行课程) 。

操作-

您是否发现自己经常在两个目录之间来回切换?

您可以使用cd -来更改到您所在的最后一个目录,如下所示:

~ $ cd directory1
~/directory1 $ cd directory2
~/directory2 $ cd -
~/directory1 $
Enter fullscreen mode Exit fullscreen mode

在分支之间切换时,这也适用于 git:

~/my-project(main)$ git checkout feature-branch
~/my-project(feature-branch)$ git checkout -
~/my-project(main)$
Enter fullscreen mode Exit fullscreen mode

操作!!

这种情况经常发生!

您输入一个命令,却收到“权限被拒绝”的提示,因此您必须再次输入该命令,这次使用sudo

操作!!员将您在终端中输入的最后一条命令回显。

你可以像这样使用它:

$ some-dangerous-script.sh
=> Error: Permission Denied
$ sudo !!
=> Enter password for some-dangerous-script.sh: 
Enter fullscreen mode Exit fullscreen mode

{花括号扩展}

如果您需要运行一系列非常相似的命令,这些命令仅有几个字符不同(例如,如果您想创建几个扩展名略有不同的文件名),您可以使用两个花括号之间的不同字符,并且该命令将为每个字符运行一次。

像这样:

$ touch file-{1,2,3}.md
$ ls
=> file-1.md file-2.md file-3.md
Enter fullscreen mode Exit fullscreen mode

您还可以传递一个范围:

$ touch file-{1..3}.md
$ ls
=> file-1.md file-2.md file-3.md
Enter fullscreen mode Exit fullscreen mode

使用 Ctrl+R 搜索

你是不是也和我一样?为了避免输入 7 个字符的命令,你会连按 20 次向上键吗?

下一个对我来说是救命稻草!

您可以输入Ctrl+R后跟您想要搜索的命令的前几个字母,以搜索您的 bash 历史记录并调出您需要的命令。

(抱歉,我想不出如何用代码片段来演示这一点。只需转到您的终端,输入Ctrl+R并开始输入)。

别名

别名是节省时间和按键次数的好方法。如果你经常输入某个命令或一系列命令,那么创建别名会非常有帮助。

为了设置别名,首先~/.bashrc在您最喜欢的编辑器中打开该文件,并检查其中是否包含以下几行:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
Enter fullscreen mode Exit fullscreen mode

它应该已经在那里了,如果不在的话,只需将其添加到文件底部。

接下来~/.bash_aliases在编辑器中打开(如果不存在则创建它)并按照以下格式添加别名:

alias something="definition"
Enter fullscreen mode Exit fullscreen mode

我的一些有趣的别名.bash_aliases是:

alias please="sudo "
alias yeet="rm -rf 
Enter fullscreen mode Exit fullscreen mode

我还在那里定义了一些函数,用于更复杂的命令系列:

mk() {
    mkdir $1 && cd $1
}

gclone() {
    git clone "$1" && cd "$(basename "$1" .git)"
}
Enter fullscreen mode Exit fullscreen mode

别名mk以目录名作为参数,mks 该目录然后cds 进入其中。

gclone别名采用 git repo,克隆它,然后cd将其放入其中。

添加别名后,.bash_aliases每次启动新的终端会话时,它们都会自动加载。

如果您想在当前会话中使用别名,请运行:

source ~/.bash_aliases
Enter fullscreen mode Exit fullscreen mode

目前我能想到的就这些。

您有什么喜欢的技巧和窍门吗?

请务必分享!我一直很喜欢学习新东西!

文章来源:https://dev.to/yechielk/my-favorite-bash-tips-tricks-and-shortcuts-36bj
PREV
这些生活窍门将改变您编写 Markdown 的方式!
NEXT
从头构建一个简单的虚拟 DOM