通过终端为经常打开的目录提供短名称

Pra*_*h P 10 command-line directory

每次我想移动到一个我经常使用的目录时,我必须输入这个长目录路径:

cd /media/prasanth/01D0F888E7BC91801/github projects
Run Code Online (Sandbox Code Playgroud)

或者我必须使用 gui 进入文件夹并打开终端。

是否可以将这条长路径分配给单个名称并通过终端输入它,例如

cd mygitfiles
Run Code Online (Sandbox Code Playgroud)

?

小智 19

到目前为止,其他答案中已经给出了两个伟大的答案,我还有一种可能性:

ln -s /media/prasanth/01D0F888E7BC91801/github/projects ~/mygitfiles
Run Code Online (Sandbox Code Playgroud)

将创建指向您家中长路径的符号链接。

符号链接就像指向另一个文件或目录的快捷方式,大多数程序会将它们视为正常。您可以安全地rm使用符号链接,而不会影响它指向的路径。您可以观察符号链接指向的位置ls -l

您可以像使用真正的目录一样使用符号链接,然后执行cd ~/mygitfiles.

请注意, ~ 只是您的主目录的别名,这可能是此类符号链接的合理位置。

请注意,使用此符号链接最终会影响您当前的工作目录。

在一般情况下,我会建议 Nicolas Delvaux 或 Eduardo Cola 的答案,但使用符号链接可能同样 - 或者可能更有用。


Nic*_*aux 10

您应该使用别名。见help alias

简而言之,您可以通过键入以下内容来定义别名:

alias whatever="cd /media/prasanth/01D0F888E7BC91801/github/projects"
Run Code Online (Sandbox Code Playgroud)

然后,键入whatever会将您移动到定义的文件夹。

您可以将别名命令放在您的 ~/.bashrc 中以永久保留它。


Edu*_*ola 9

您可以将路径存储在环境变量中。跑:

nano $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

转到文件末尾,创建一个新行并写入:

export mgf="/media/prasanth/01D0F888E7BC91801/github projects"
Run Code Online (Sandbox Code Playgroud)

点击Ctrl+OENTER保存文件。按Ctrl+X退出。现在注销并登录。当您打开终端(运行 bash)时,您可以运行cd "$mgf"以更改到您的目录。

  • 不过不需要注销。要么运行`。~/.bashrc`(如果在控制台或终端中)或关闭/重新打开终端(如果在终端中)。 (3认同)
  • 不需要 sudo。这是您的 .bashrc,您应该可以编辑它。 (3认同)

小智 9

看起来您正在寻找cdargs

它为cd命令提供书签。

您可以通过mark NAME在添加书签的目录中执行来添加书签。然后您可以使用cv NAMENAME 作为书签的名称从任何地方更改到此目录。


Cip*_*agă 5

你可以看看autojump。它基本上cd通过构建您访问的文件夹的数据库并为它们分配权重来学习:您访问的文件夹越多,它在数据库中的位置就越高。

然后,在你cd几次到一个目录之后(即使一次就足够了):

cd /media/prasanth/01D0F888E7BC91801/github projects
Run Code Online (Sandbox Code Playgroud)

您可以使用以下j命令跳转到那里:

j proj
Run Code Online (Sandbox Code Playgroud)

您可以使用目录名称的任何部分作为j命令的参数,它会跳转到匹配的第一个条目,因此当您不记得完整路径时这很有帮助。

它还有其他一些非常简洁的功能,例如跳转到孩子( jc)。我鼓励你检查它。