Linux路径环境变量-Linux命令行
PATH 环境变量是任何 Linux 系统的重要组成部分。如果您曾经使用过命令行,系统将依赖 PATH 变量来查找您输入的命令的位置。
在本教程中,您将了解 PATH 环境变量及其工作原理。您还将看到如何通过删除路径或将您自己的自定义目录添加到变量来修改它。
在本教程中您将学习:
什么是 PATH 变量以及它是如何工作的?
如何临时或永久添加目录到 ` PATH
如何从 ` PATH 中删除目录
Linux 路径变量
当您在 Linux 终端中输入命令时,实际发生的是程序正在执行。通常,要执行自定义程序或脚本,我们需要使用其完整路径,例如 /path/to/script.sh
或仅 ./script.sh
如果我们已经在它的驻留目录中了。或者,我们可以在不指定路径的情况下执行大量命令,只需键入 uptime
或 date
等命令即可。
我们不需要为某些命令指定路径的原因是因为 ` PATH
变量。这是一个可以配置为告诉我们的 Linux 系统在哪里寻找某些程序的变量。这样,当在终端中输入命令时,Linux 会检查 ` PATH 变量以查看用于查找程序的目录列表。
查看` PATH中当前配置的目录
查看系统的 ` PATH 变量中当前配置的所有目录很容易。只需使用 echo
命令,如下所示:
$ echo $PATH
正如您所看到的,` PATH 中已经存储了一些不同的目录。这就是为什么我们可以默认运行如此多的命令,而无需在终端中指定它们的完整位置。
要查看命令属于哪个目录,可以使用 which
命令。
$ which date
/bin/date
将目录添加到 PATH 变量
将目录添加到 PATH 变量将使您能够从系统中的任何位置调用程序或脚本,而无需指定存储它的路径。
按照以下步骤操作,了解如何将目录临时或永久添加到 PATH 变量。
临时添加一个目录到` PATH
要将目录添加到当前会话的 ` PATH,请使用以下命令语法。在此示例中,我们添加 /bin/myscripts
目录。
$ export PATH="/bin/myscripts:$PATH"
您可以稍后验证该目录是否已添加。
$ echo $PATH
/bin/myscripts [...]
现在,我们存储在 /bin/myscripts
目录中的文件可以在任何地方执行,而无需指定其完整路径。当我们结束当前会话(重新启动 PC 或关闭终端)时,此配置将会更改。要使其永久化,请查看以下部分。
将目录永久添加到 ` PATH
要将目录永久添加到 ` PATH,我们需要编辑要更改的用户的 .bashrc
文件。使用 nano 或您喜欢的文本编辑器打开存储在主目录中的文件。
$ nano ~/.bashrc
在此文件的末尾,将您想要永久添加到 ` PATH 的新目录。
export PATH="/bin/myscripts:$PATH"
保存更改并退出文件。然后,执行以下命令以使更改在当前会话中生效。或者,您可以注销或重新启动系统。
$ source ~/.bashrc
这里的所有都是它的。您可以再次检查 ` PATH 以验证更改。
$ echo $PATH
从 ` PATH 中删除目录
您可以通过编辑适当的文件并删除不需要的目录来从 PATH 中删除目录。 PATH 的目录可以在 ~/.bashrc
文件(基于每个用户)或 /etc/environment
(系统范围变量)中配置。
例如,以下是 /etc/environment
文件在我们的测试系统上的样子。
从此处删除目录将在整个系统中生效,而从 .bashrc
中删除目录只会影响一个用户。
我们在如何设置和列出环境变量的指南中详细介绍了这些文件。
结束语
在本指南中,我们了解了 ` PATH 变量以及它如何控制在不指定完整路径的情况下能够执行哪些命令。我们还了解了如何临时或永久删除目录或添加新程序或脚本到“PATH”。