Linux可运行软件位置和环境变量

HarderHeng Lv5

在Linux中运行软件就是一行命令的事,但是这些运行的软件具体在哪呢?

环境变量

任何一个软件都可以将其文件夹放到环境变量中,就可以使用命令唤起这个软件。

使用包管理器安装的软件会被默认安装到**/usr/bin**的位置中。

而自己编译的软件要看软件的编译脚本安装到什么位置,一般是**/usr/local/bin**中。

上面两个文件夹都在环境变量PATH中,所以可以被直接执行。并且**/usr/local/bin文件夹在PATH环境变量中比/usr/bin**更加靠前,也就是说会优先调用用户自己编译出来的应用程序。

所有的/bin文件夹

  • /bin 存放所有用户皆可用的系统程序,系统启动或者系统修复时可用(在没有挂载 /usr 目录时就可以使用)

  • /sbin 存放超级用户才能使用的系统程序

  • /usr/bin 存放所有用户都可用的应用程序

  • /usr/sbin 存放超级用户才能使用的应用程序

  • /usr/local/bin 存放所有用户都可用的与本地机器无关的程序

  • /usr/local/sbin 存放超级用户才能使用的与本地机器无关的程序

开源软件安装指南

如果是一个标准的开源项目,将源码解包之后怎么才能安装呢?

1
2
3
./configure -prefix=/usr/local
make
sudo make install

第一条命令configure是由项目开发者提供的命令,用来自己配置编译和安装的过程,并且会生成一个makefile文件以供接下来使用。prefix命令用来指定安装位置,一般来说是**/usr/local**,也有的默认安装位置就是这样。

第二条命令make就是根据makefile编译源文件。

第三条命令就是根据makefile中的install目标,进行软件的安装,会直接安装到对应位置。

软件被安装的位置就是选择的安装位置的**/bin文件夹中,已经被默认包含在环境变量中的,所以就可以直接使用软件了。软件的其他文件比如库文件,也都会在安装位置的/lib**文件夹,同样的别的资源文件都会放在对应的文件夹中。

如果开发者在makefile中预留了uninstall构建目标,还可以使用make uninstall命令来卸载软件。

  • Title: Linux可运行软件位置和环境变量
  • Author: HarderHeng
  • Created at : 2024-12-05 15:38:15
  • Updated at : 2024-12-05 18:11:54
  • Link: https://harderheng.life/2024/12/05/Linux可运行软件位置和环境变量/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
Linux可运行软件位置和环境变量