我可以添加快捷方式来替换 Linux 中的路径吗?

use*_*167 41 linux path command-line

例如,我总是走这条路:

/user/something/somefolders/somewhere

但我不想打字

cd /user/something/somefolders/somewhere

一直在终端,我可以有一些短手吗?例如,我可以做类似的事情吗

cd 命令位置

替换路径?

Joh*_*n T 54

我一直在使用两个快捷方式来处理这样的事情:

别名

别名 somedir='cd /home/john/www/something/'

然后您可以键入somedir以转到该目录。将这些添加到您的.bashrc.

符号链接

ln -s /long/path/to/some/other/folder /shortcut

这将创建一个/shortcut链接到/long/path/to/some/other/folder. 然后你可以输入 cd/shortcut代替。需要注意的是,它会很快填满您的根目录(或您放置链接的任何目录)。我更喜欢别名。


Dav*_*d Z 35

您可以CDPATH为此使用环境变量。从 Bash 手册页:

路径

cd 命令的搜索路径。这是一个以冒号分隔的目录列表,shell 在其中查找 cd 命令指定的目标目录。示例值为“.:~:/usr”。

在您的情况下,您可以设置

export CDPATH=.:/user/something/somefolders
Run Code Online (Sandbox Code Playgroud)

in ~/.bashrc,然后输入cd somewhere会带你到/user/something/somefolders/somewhere(假设somewhere当前目录中没有命名的目录)。

或者,如果您不想somewhere通过真实名称引用该文件夹,则可以创建一个隐藏目录,其中包含指向/user/something/somefolders/somewhere您要使用的名称的符号链接。它还可以包含指向您经常访问的任何其他目录的链接。然后设置CDPATH为包含该隐藏目录的路径。尽管请注意,使用此方法,如果您cd somewhere然后cd ..,您将进入隐藏目录。这对您来说可能是也可能不是问题。


Jan*_*nen 14

我倾向于一直使用 bash 交互式搜索。尝试一下。使用ctrl+r调用它并开始键入路径的某些部分,例如某处。可能你的 cd 命令会弹出。:)


ter*_*don 11

您可以做的另一件事是将有问题的路径存储在环境变量中。将这些行添加到您的~/.profile文件中:

somedir=/user/something/somefolders/somewhere
export somedir
Run Code Online (Sandbox Code Playgroud)

然后您可以访问该目录

cd "$somedir"
Run Code Online (Sandbox Code Playgroud)


小智 9

查看“别名”命令。

在 csh 中:

alias commandplace "cd /user/something/somefolders/somewhere"
Run Code Online (Sandbox Code Playgroud)

在 sh:

alias commandplace="cd /user/something/somefolders/somewhere"
Run Code Online (Sandbox Code Playgroud)

但我喜欢符号链接解决方案:

ln -s /user/something/somefolders/somewhere ~/commandplace 
Run Code Online (Sandbox Code Playgroud)

注意:ln 以与 cp 相同的顺序接受参数。