如何在 Linux 中的任何位置执行程序?
Linux 是一种广泛使用的开源操作系统,它为用户提供了从系统上的任何位置执行程序的灵活性。与其他操作系统不同,Linux没有固定的程序目录,使得用户可以从任何地方访问程序。此功能对于需要从多个位置运行特定程序的用户来说是有利的。要从 Linux 中的任何位置执行程序,用户需要设置 PATH 环境变量,其中包含 Linux 搜索可执行文件的位置。 Linux 中包含程序的目录包括 /usr/bin、/usr/local/bin 和 /sbin。 /usr/bin 目录包含大部分用户应用程序,而 /usr/local/bin 目录包含本地安装的程序。 /sbin 目录包含重要的系统管理程序,只有 root 用户可以访问它。了解这些目录以及如何从 Linux 中的任何位置执行程序对于高效且高效的 Linux 用户至关重要。
关于 Linux 中的 /bin 或 /sbin
大多数 Linux 程序都位于 /bin 或 /sbin 中。因此,它们可以从我们系统中的任何位置运行。
我们可以将程序放置在这些目录之一中。虽然这解决了我们的问题,但这不是一个好主意,因为 /bin 和 /sbin 是保留目录
/bin 包含所有基本 Linux 命令,例如 cp、ls 和 mkdir。 /sbin 包含系统管理员命令,例如 fsck 和 dmesg。
如果操作系统或管理员命令不需要我们的软件,则它在这些领域没有地位。我们也不想在这些目录中闲逛。我们可能会不经意间破坏任何东西。
Linux 中的 /usr 目录
大部分用户应用程序和实用程序位于 /usr 目录下。它与根目录不同,可以安装在不同的磁盘或分区上。 /usr 目录分为 /usr/bin、/usr/sbin 和 /usr/local 等子目录。
目录 /usr/bin 包含系统启动或运行不需要的用户级二进制文件。这些程序通常作为操作系统初始安装的一部分或稍后作为软件包安装。 ls、cp、mv、rm 等常用程序都可以在这个目录中找到。
系统正常运行所需的系统二进制文件可以在 /usr/sbin 目录中找到。这些应用程序不适用于普通用户,而是适用于系统管理员。 Mount、fsck、fdisk 等常用应用程序都可以在此目录中找到。
/usr/local 目录是本地安装软件的目录。系统管理员经常利用此目录来安装官方软件包存储库中未包含的定制软件。本地二进制文件位于 /usr/local/bin 目录中,而本地系统二进制文件位于 /usr/local/sbin 目录中。
Linux 中的 /opt 目录
/opt 目录代表可选或补充软件,是 Linux 系统上经常使用的目录。供应商或开发人员通常使用此目录来安装官方软件包存储库中未包含的可选软件。
/opt 目录适用于未包含在操作系统默认安装或供应商提供的软件包中的软件。这是一个单独的区域,我们可以在其中安装发行版的包管理器未提供但必须在系统范围内可用的软件。
供应商或开发人员负责组织 /opt 目录中的已安装文件。该软件可以放置在子目录中,由供应商决定产品的最佳命名约定。例如,软件可以安装在 /opt/myapp/bin、/opt/myapp/lib 或 /opt/myapp/doc 等目录结构中。
/opt 目录对于需要特殊安装过程、非开源或仅以二进制形式提供的软件很有帮助。 Oracle Database、Google Chrome 和 Adobe Acrobat Reader 是通常安装在 /opt 下的软件示例。
虽然 /opt 目录不是定义 Linux 文件系统结构的文件系统层次结构标准 (FHS) 的必需组件,但大多数 Linux 发行版都普遍使用它。
将软件安装在 /opt 目录中的优点是使其与系统默认目录(例如 /usr 和 /bin)分开。这可确保该软件不会覆盖任何系统文件或程序或与任何系统文件或程序发生冲突。此外,包管理器不会自动更新安装在 /opt 下的应用程序,这可能是优点也可能是缺点,具体取决于我们的需要。
Linux 中的 PATH 变量
shell 在 PATH 环境变量中列出的文件夹中查找可执行文件。当用户在终端中键入命令时,shell 会在 PATH 变量中提到的每个目录中搜索可执行文件。如果发现该文件,则运行该文件。如果无法找到该文件,shell 会生成错误。
通常,PATH 在用户的 bashrc 或 .zshrc shell 配置文件中指定。默认情况下,/bin、/usr/bin 和 /usr/local/bin 文件夹包含在 PATH 变量中。系统管理员可以根据需要向 PATH 变量添加其他目录。
要将目录添加到 PATH 变量,请使用导出命令。例如,要将目录 /opt/myprogram/bin 添加到 PATH 变量,请键入 -
export PATH=$PATH:/opt/myprogram/bin
此命令扩展 PATH 变量的当前值以包含位置 /opt/myprogram/bin。
结论
Linux 允许我们从系统上的任何位置执行程序,使其成为一个灵活且可定制的操作系统。了解包含程序的目录以及 PATH 环境变量的工作原理对于有效使用 Linux 至关重要。通过了解如何从任何地方执行程序,用户可以充分利用 Linux 的灵活性和强大功能。