如何查看和更新 Linux PATH 环境变量

作者选择了 维基媒体基金会作为 写给捐赠计划的一部分接受捐赠。

介绍

安装命令行程序后,您可能只能在与该程序相同的目录中运行命令行程序,您可以使用名为PATH的环境变量从任何目录中运行命令行程序。

PATH变量包含一个系统在运行命令之前检查的目录列表.更新PATH变量将使您能够从任何目录中运行任何在PATH中提到的目录中发现的执行程序,而无需键入绝对文件路径。

例如,要运行 Python 程序,而不是键入以下内容:

1/usr/bin/python3

由于 /usr/bin 目录包含在 PATH 变量中,您可以输入以下内容:

1python3

目录以优先顺序列出,因此将首先检查的目录首先被提及。

在本教程中,您将查看PATH变量并更新其值。

前提条件

有关环境变量的概述,请参阅 如何在 Linux 上阅读和设置环境和壳变量的文章。

步骤 1 — 查看PATH变量

您可以使用以下命令查看PATH变量:

1echo $PATH

未變的「PATH」可能看起來像這樣(檔案路徑可能因您的系統而有所不同):

1[secondary_label Output]
2/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

一些目录是默认提到的,并且在PATH中的每个目录都分为一个 colon:系统在运行程序时从左到右检查这些目录。

当命令行程序未安装在上述任何目录中时,您可能需要将该程序的目录添加到PATH

步骤 2 — 将目录添加到PATH环境变量

一个目录可以以两种方式添加到PATH:在路径的开始或结束。

例如,在PATH开始时添加一个目录(`/the/file/path)意味着它首先被检查:

1export PATH=/the/file/path:$PATH

将目录添加到PATH的末尾意味着它将在所有其他目录之后进行检查:

1export PATH=$PATH:/the/file/path

可以通过在目录之间添加一个 colon : 来同时添加多个目录到 PATH:

1export PATH=$PATH:/the/file/path:/the/file/path2

一旦执行导出命令,您可以查看PATH变量以查看更改:

1export PATH=$PATH:/the/file/path
2echo $PATH

你会看到这样的输出:

1[secondary_label Output]
2/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/the/file/path

此方法只适用于当前 shell 会话。一旦您退出当前会话并启动新的会话,PATH 变量将重置为默认值,不再包含您添加的目录。

步骤 3 — 永久地将目录添加到PATH变量

在此步骤中,您将永久地在壳配置文件中添加一个目录,如果您使用的是 bash shell,则该目录是 ~/.bashrc,如果您使用的是 zsh shell,则是 ~/.bashrc。

首先,打开 ~/.bashrc 文件:

1nano ~/.bashrc

文件 ~/.bashrc 将有现有数据,您将不会修改它. 在文件的底部,添加命令 export 与您的新目录:

1...
2Adding paths to your PATH
3export PATH=$PATH:the/file/path

使用上一节所描述的方法来澄清您是否希望新目录在PATH中先检查或最后检查。

保存和关闭文件.在启动新壳会话后,将对PATH变量进行更改. 若要将更改应用于当前会话,请使用命令:

1source ~/.bashrc

您可以在未来添加新的目录,打开此文件,并将分隔一个 colon : 的目录附加到现有的导出命令中。

结论

PATH环境变量是命令行使用的一个关键方面。它允许您从任何目录中运行命令行程序,如echopython3,而无需输入完整路径。在将目录添加到PATH并非安装过程的一部分的情况下,本教程提供所需的步骤。

Published At
Categories with 技术
Tagged with
comments powered by Disqus