如何在Linux中定义“cd”命令的基目录

默认情况下,Linux中的终端窗口打开到您的主目录。要切换到不直接位于主目录中的任何目录,必须提供完整路径或多次使用“cd”命令。

例如,我经常使用主目录中的Documents目录中的多个目录。我希望能够CD到Documents目录中的文件夹,而不必先键入CD Documents(或提供完整的文件路径)。

听起来很迷惑吗?这里有一个例子。假设我的Documents文件夹中有一个名为htgproducts的文件夹,我想通过终端访问它。

我们将首先打开一个终端窗口并输入PWD(打印工作目录)命令,以显示当前目录确实是我们的主目录/home/loi。

如果我们键入以下命令,我们会得到一个错误,指出没有这样的文件或目录。那是因为我们不在文档目录中。

cd htgaricles

要进入htgails目录,首先我们必须切换到Documents目录。

cd Documents/

然后,我们必须切换到htgails目录。

cd htgarticles/

或者,我们也可以费力地键入完整的文件路径:

cd ~/Documents/htgarticles

不过,事情不一定非得是这样的。我们不能将任何目录设置为终端窗口的基目录,因此我们可以cd到其子目录,而无需键入完整路径。

在我们的示例中,我们希望将Documents目录设置为基目录,因为我使用的所有目录(如htgproducts)都在Documents目录内。因此,我们在提示符下键入以下命令并按Enter键。

export CDPATH=~/Documents/

注意:在上述命令中,EXPORT必须全部为小写,CDPATH必须全部为大写。将~/Documents/替换为包含您最常使用的子目录的任何父目录的路径。

现在,仍然在我们的主文件夹中,我们可以运行cd htgproducts并直接转到~/document/htgproducts。

如果您想在每次打开终端窗口时自动将某个目录设置为基本目录,可以通过编辑.bashrc文件来实现。bashrc文件是您每次打开终端窗口时都会运行的脚本,您可以向其中添加任何您想要的命令。因此,我们可以添加export CDPATH命令,将特定目录设置为每个终端窗口的父目录。

要执行此操作,请cd返回到您的主目录(如果您还没有这样做的话)。然后,键入以下命令以打开.bashrc文件。您可以使用您想要使用的任何文本编辑器,但是在我们的示例中我们将使用Gedit。

gedit .bashrc

滚动到.bashrc文件的底部,然后添加以下命令。

export CDPATH=~/Documents/

同样,将~/Documents/替换为包含您最常使用的子目录的父目录。

您可以在命令上方添加注释,以便记住命令的作用。只需在行首加上一个数字符号(#),然后再添加任何要添加的描述即可。

单击“保存”。

通过单击窗口左上角的“X”关闭Gedit(或您正在使用的任何文本编辑器)。

您刚才添加到.bashrc文件中的命令不会影响当前的终端窗口会话。您必须关闭当前的终端窗口,然后打开一个新窗口。因此,在提示符下键入exit,然后按Enter或单击窗口左上角的“X”按钮。然后,按Ctrl+Alt+T打开一个新的终端窗口。

现在,即使当前工作目录是主目录,您也可以直接从选择的基目录更改为子目录。

相关:如何在Linux中将终端打开到特定目录

如果要恢复到主目录作为终端窗口中的父目录,只需在文本编辑器中打开.bashrc文件,然后删除添加的命令或通过在行首添加井号(#)将其注释掉。如果您希望将来再次激活该命令,则注释掉该行非常有用。您还可以简单地更改.bashrc文件中命令中的目录并保存该文件,从而轻松地更改要用作基本目录的目录。

如果您有一个大多数时间都在使用的特定目录,您还可以向.bashrc文件添加一个命令,该命令每次都会打开指向该目录的终端窗口。

相关文章