如何在 Linux 中从任意位置执行程序?

linuxoperating systemopen source

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 目录中。这些应用程序并非面向普通用户,而是面向系统管理员。在此目录中可以找到挂载、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 数据库、Google Chrome 和 Adob​​e Acrobat Reader 都是常规安装在 /opt 下的软件示例。

虽然 /opt 目录不是文件系统层次结构标准 (FHS)(该标准定义了 Linux 文件系统的结构)的必需组件,但它被大多数 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 变量,请使用 export 命令。例如,要将目录 /opt/myprogram/bin 添加到 PATH 变量,请输入 -

export PATH=$PATH:/opt/myprogram/bin

此命令扩展 PATH 变量的当前值,使其包含位置 /opt/myprogram/bin。

结论

Linux 允许我们从系统上的任何位置执行程序,使其成为一个灵活且可自定义的操作系统。了解包含程序的目录以及 PATH 环境变量的工作原理对于有效使用 Linux 至关重要。通过了解如何从任何位置执行程序,用户可以充分利用 Linux 的灵活性和强大功能。


相关文章


有用资源