每当我想开始编码时,我必须cd
进行Desktop/Programming/C++
,而我正在寻找一种更简单的方法,更准确地说,我正在寻找一个可以自动cd
进入该特定目录的终端命令。我可以在终端中创建这样的命令吗?如果可以,怎么做?
答案1
我写这篇文章时假设你对 Ubuntu 不太了解——如果太过简单,请接受我的歉意。
当然可以。您需要创建一个别名。为要执行的命令选择一个别名。打开终端 ( CtrlAltT) 并输入它以检查它当前是否被分配给了某个命令。
假设你想使用命令prog
移动到该目录,你可以通过为所需目录的绝对路径创建别名来暂时实现这一点。打开终端并输入
alias prog="cd /home/user/Desktop/Programming/C++"
(显然,您需要输入目标文件夹的正确路径;请注意,它必须是绝对路径而不是相对路径)。
然后,在该终端会话中,每次键入时prog
它都会执行该cd /home/user/Desktop/Programming/C++
命令。
请注意,这仅在该终端会话期间有效。要使其永久生效,您需要编辑该.bashrc
文件:
您需要能够轻松地编辑文本配置文件。
我个人不太习惯使用 Vi / Vim – 但 nano 非常简单。
它涉及.bashrc
在您的主目录中进行编辑。
我认为这是相当安全的,即使你不太熟悉编辑这样的文件:
打开终端(CtrlAltT)
使用以下命令进入你的主目录
cd ~
确认
.bashrc
有ls -a
假设是,请首先创建它的备份副本,以便在完全搞砸的情况下可以撤消它:
cp .bashrc .bashrc-bak
(如果造成问题,您可以
.bashrc
通过输入以下内容恢复原始文件cp .bashrc-bak .bashrc
)现在您可以编辑,
.bashrc
因为知道有一个安全的副本:输入
nano .bashrc
(或者如果你愿意,也可以使用其他文本编辑器)这将
.bashrc
在文本编辑器中打开。
虽然您可以在任何地方添加行,但为了将来进行编辑,找到一个有一些别名的空间并在其下方添加您的别名是有意义的:
alias prog=”cd /home/user/Desktop/Programming/C++”
然后按 保存文件CtrlO,按 退出 nano CtrlX。如果您犯了错误,并且无法撤消,请Ctrl不保存退出 nano (X) 并重新开始。
一旦您启动新的终端会话或键入 . ~/.bashrc
(请注意.
开头的!),更改就会生效。
答案2
有一些可能性。
• 首先,你可以保留一些可以带你进入特定文件夹的别名,例如
alias cdplus='cd Desktop/Programming/C++'
该命令cdplus
将带您进入该目录。
• 或者,您可以使用 CDPATH 变量。在这样的变量中,您可以包含命令将在其中cd
搜索匹配文件夹的目录,因此您不必输入完整路径。例如,如果您定义
CDPATH=".:Desktop/Programming"
您将能够cd C++
(以及 下的任何其他文件夹Programming
)而不管您当前的目录如何。第一个条目.
表示当前文件夹,因此您可以继续cd
进入当前文件夹中的文件夹。
• 存在用于快速目录导航的第三方工具,例如goto
,其工作方式与别名类似,但将这些定义分开。您也可以使用模糊查找器(fzf
, sudo apt install fzf
)。在 Ubuntu 上,会自动设置 bash 快捷方式Alt+ c(“当前目录”),以快速导航到当前文件夹下的任何目录。您会得到一个所有目录的列表,当您输入名称的一部分时,它会迅速缩小范围。点击Enter会带您进入该目录。
• 类似这样的工具autojump
( sudo apt install autojump
) 记录您访问的目录,并允许您在命令后输入其名称即可快速重新访问它们autojump
。此工具会从您当前的使用情况中“学习”,而无需维护列表。另一种方法是肖恩跳跃,用编程语言“Go”进行重写。