我最喜欢的 Bash 技巧、窍门和快捷键
如果您使用 DEV,您很可能会花至少一些时间在终端上,甚至可能花很多时间。
这些年来,我从同行开发者那里学到了很多技巧和窍门。几乎每次我和新人结对编程时,我都会注意到他们做了一些很棒的事情,并向他们请教。
以下是我最喜欢的一些。
我使用 bash 作为我的默认终端,但大多数这些技巧也适用于其他终端。
注意:这篇文章并非旨在教授终端的基础知识。网上有很多很棒的资源(我记得我刚开始学习的时候上过Codecademy 的命令行课程) 。
操作-
员
您是否发现自己经常在两个目录之间来回切换?
您可以使用cd -
来更改到您所在的最后一个目录,如下所示:
~ $ cd directory1
~/directory1 $ cd directory2
~/directory2 $ cd -
~/directory1 $
在分支之间切换时,这也适用于 git:
~/my-project(main)$ git checkout feature-branch
~/my-project(feature-branch)$ git checkout -
~/my-project(main)$
操作!!
员
这种情况经常发生!
您输入一个命令,却收到“权限被拒绝”的提示,因此您必须再次输入该命令,这次使用sudo
。
操作!!
员将您在终端中输入的最后一条命令回显。
你可以像这样使用它:
$ some-dangerous-script.sh
=> Error: Permission Denied
$ sudo !!
=> Enter password for some-dangerous-script.sh:
{花括号扩展}
如果您需要运行一系列非常相似的命令,这些命令仅有几个字符不同(例如,如果您想创建几个扩展名略有不同的文件名),您可以使用两个花括号之间的不同字符,并且该命令将为每个字符运行一次。
像这样:
$ touch file-{1,2,3}.md
$ ls
=> file-1.md file-2.md file-3.md
您还可以传递一个范围:
$ touch file-{1..3}.md
$ ls
=> file-1.md file-2.md file-3.md
使用 Ctrl+R 搜索
你是不是也和我一样?为了避免输入 7 个字符的命令,你会连按 20 次向上键吗?
下一个对我来说是救命稻草!
您可以输入Ctrl+R后跟您想要搜索的命令的前几个字母,以搜索您的 bash 历史记录并调出您需要的命令。
(抱歉,我想不出如何用代码片段来演示这一点。只需转到您的终端,输入Ctrl+R并开始输入)。
别名
别名是节省时间和按键次数的好方法。如果你经常输入某个命令或一系列命令,那么创建别名会非常有帮助。
为了设置别名,首先~/.bashrc
在您最喜欢的编辑器中打开该文件,并检查其中是否包含以下几行:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
它应该已经在那里了,如果不在的话,只需将其添加到文件底部。
接下来~/.bash_aliases
在编辑器中打开(如果不存在则创建它)并按照以下格式添加别名:
alias something="definition"
我的一些有趣的别名.bash_aliases
是:
alias please="sudo "
alias yeet="rm -rf
我还在那里定义了一些函数,用于更复杂的命令系列:
mk() {
mkdir $1 && cd $1
}
gclone() {
git clone "$1" && cd "$(basename "$1" .git)"
}
别名mk
以目录名作为参数,mk
s 该目录然后cd
s 进入其中。
该gclone
别名采用 git repo,克隆它,然后cd
将其放入其中。
添加别名后,.bash_aliases
每次启动新的终端会话时,它们都会自动加载。
如果您想在当前会话中使用别名,请运行:
source ~/.bash_aliases
目前我能想到的就这些。
您有什么喜欢的技巧和窍门吗?
请务必分享!我一直很喜欢学习新东西!
文章来源:https://dev.to/yechielk/my-favorite-bash-tips-tricks-and-shortcuts-36bj