Bash:如何在终端中进行传送
概述
今天,我将分享一个我用来轻松在终端周围传送的小技巧。
您是否像这样更改您的项目目录?
> ~
$ cd Documents
> ~/Documents
$ cd projects
> ~/Documents/projects
$ cd my-project
> ~/Documents/projects/my-project
$ ls
src/ package.json yarn.lock etc...
那么这篇文章适合您!
Pushd 和别名
如果您有经常访问的目录,使用 pushd 创建别名会非常有用。
如果您对 bashrc、pushd 或设置别名一无所知,请查看我的Bash 脚本工具包博客。
我们可以尝试在 bashrc 中添加类似这样的内容:
alias projects="pushd ~/Documents/projects"
alias experiments="pushd ~/Documents/experiments"
现在,只要我们在终端中输入projects
或,我们就可以立即“传送”到这些目录!experiments
但这还不止于此,朋友们!你现在可能在问自己:“Jimmy,既然 cd 能做同样的事情,为什么还要用 pushd 呢?”
这个问题问得真好!Pushd 有个特殊功能。当我们 push 到一个目录后,可以用 popd 弹回之前所在的目录。假设我们现在在实验文件夹里,projects
在终端里输入 。现在,如果我们想回到实验目录,只需要输入popd
,就能回到之前所在的目录!
&&
在编写 Bash 别名时,&& 是一个非常实用且强大的工具。它允许我们在一行内串联多个命令!所以,让我们使用这个&&
运算符串联一些额外的命令,改进我们的脚本。
alias projects="pushd ~/Documents/projects && clear && ls"
alias experiments="pushd ~/Documents/experiments && clear && ls"
您可以看到,我们已经将clear
和链接ls
到了我们的命令。所以现在当我们使用 projects 别名时,它会带我们进入我们的项目目录,清除屏幕,并列出所有文件和目录。是不是很棒?
我经常使用的另一个别名是:
alias x="clear && ls"
CD 别名
您这样做了多少次:
$ cd ..
$ ls
为什么不设置几个别名来帮你完成这些艰苦的工作呢?
alias ..="cd .. && clear && ls"
alias ...="cd ../.. && clear && ls"
alias ....="cd ../../.. && clear && ls"
alias .....="cd ../../../.. && clear && ls"
现在..
会跳转到一个目录,清空屏幕,并列出该目录中的所有文件。是不是很酷?
结论
结合使用链接&&
,pushd
我们可以创建一些非常有用的别名,这些别名不仅可以帮助我们在文件系统中进行传送,还可以保持其清洁和有序。
你最喜欢的 Bash 脚本或别名有哪些?欢迎在评论区留言!
文章来源:https://dev.to/jimmymcbride/bash-how-to-teleport-in-the-terminal-1e09