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 中以永久保留它。
您可以将路径存储在环境变量中。跑:
nano $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)
转到文件末尾,创建一个新行并写入:
export mgf="/media/prasanth/01D0F888E7BC91801/github projects"
Run Code Online (Sandbox Code Playgroud)
点击Ctrl+O并ENTER保存文件。按Ctrl+X退出。现在注销并登录。当您打开终端(运行 bash)时,您可以运行cd "$mgf"以更改到您的目录。
你可以看看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)。我鼓励你检查它。