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


33

例如,我总是走这条路:

/ user / something / somefolders / somewhere

但我不想输入

cd /用户/某物/某文件夹/某处

一直在航站楼里,我可以帮忙吗?例如,我可以做类似的事情吗

cd commandPlace

替换路径?

Answers:


32

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

CD路径

cd命令的搜索路径。这是一个用冒号分隔的目录列表,外壳程序在其中查找cd命令指定的目标目录。示例值为“。:〜:/ usr”。

您可以设置

export CDPATH=.:/user/something/somefolders

在中~/.bashrc输入,然后键入cd somewhere将带您进入/user/something/somefolders/somewhere(假设somewhere当前目录中没有命名目录)。

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


41

我一直在使用两个快捷方式来进行如下操作:

别名

别名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。需要注意的是,它很快就会填满您的根目录(或您放入链接的任何目录)。我更喜欢别名。


好约翰!
Gob00st 2012年

应该是ln -s /long/path/to/some/other/folder /shortcut在我做其他事情的时候,在我想创建链接的地方创建了快捷方式。我提交了修改以使其更新。
埃里亚斯

1
根目录中带有短名称的目录怎么样,例如/sl在其中创建快捷方式?(即ln -s /long/path/to/some/other/folder /sl/shortcut?根中没有混乱,加上视觉提示,提示的路径是符号链接
。– RolfBly

14

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


9

查看“别名”命令。

在csh中:

alias commandplace "cd /user/something/somefolders/somewhere"

在sh中:

alias commandplace="cd /user/something/somefolders/somewhere"

但是我喜欢symlink解决方案:

ln -s /user/something/somefolders/somewhere ~/commandplace 

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


9

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

somedir=/user/something/somefolders/somewhere
export somedir

然后,您可以使用

cd "$somedir"

1
到目前为止,这是最好的解决方案imo,因为您可以将变量用于任何命令。如果您指定别名,则该别名将始终与诸如cd ...的命令绑定
BdN3504

这是我希望存在并一直在寻找的解决方案。由于这个原因,BdN3504已声明。
启发

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.