以更简单的方式更改到特定目录

以更简单的方式更改到特定目录

每当我想开始编码时,我必须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在您的主目录中进行编辑。

我认为这是相当安全的,即使你不太熟悉编辑这样的文件:

  1. 打开终端(CtrlAltT

  2. 使用以下命令进入你的主目录cd ~

  3. 确认.bashrcls -a

  4. 假设是,请首先创建它的备份副本,以便在完全搞砸的情况下可以撤消它:

     cp .bashrc .bashrc-bak
    

    (如果造成问题,您可以.bashrc通过输入以下内容恢复原始文件cp .bashrc-bak .bashrc

  5. 现在您可以编辑,.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”进行重写。

相关内容