您的位置:

/usr/local/bin 究竟是什么?

一、 简介

在Linux和Unix系统中, 一般都有一个/usr/local/bin 目录,这个目录通常用来存放用户自己安装的软件,也就是用户本地程序。其实, /usr/local/bin 也不仅仅限于用户本地程序。

在Linux和Unix系统中, /usr/local 是管理员安装软件的默认目录之一。管理员可以在这个目录中自行安装软件,从而为整个系统提供共享。另外,这个目录的另一个作用是用于替代系统默认的/usr/bin 目录, 进行自定义的配置。这就是说,如果我们在安装某个软件时,想要更改软件的存储位置, 那么把软件安装到/usr/local/bin 路径下是一个不错的选择。

二、 usr/local/bin 目录的权限和用途

在Linux下, /usr/local/bin 目录的默认权限为755,也就是说,该目录可以被所有用户读、写、执行。但是,一般为了安全起见,我们还是应该适当地设置权限。 比如,我们可以将目录权限设置为755, 然后在目录中再建立子目录并设置为711, 这样,只有root用户和对应的用户组可以执行该目录中的文件。

那么,/usr/local/bin 目录有哪些用途呢? 下面,我们来介绍一下这个目录的主要用途:

1、存放用户自己编写的程序、脚本等文件。

$ cd /usr/local/bin
$ touch hello.py
$ chmod 755 hello.py

2、用于在不同的软件之间共享代码。比如,如果某个软件需要使用某个库文件或工具包,可以将该库文件或工具包存放在/usr/local/bin 目录下。

$ sudo apt install python3-pip # 安装pip
$ pip3 install requests # 安装requests模块

3、用于存放安装后的第三方软件,这些软件可以在各种情况下使用。通常情况下,这些软件都是管理员安装的,但用户也可以将自己需要的软件安装在这个目录下以便日常使用。

$ sudo wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz # 下载压缩包
$ tar -zxvf Python-3.8.0.tgz # 解压缩
$ cd Python-3.8.0 # 进入解压目录
$ ./configure --prefix=/usr/local/python38 # 设置安装位置
$ sudo make && sudo make install # 编译并安装

三、 usr/local/bin 目录和PATH环境变量

在Linux中,PATH环境变量是非常重要的一个变量,它的用途是存储一系列目录的路径,用于查找执行的命令或可执行文件。当我们在终端输入一个命令时,终端会自动搜索PATH环境变量中的路径,查找该命令所对应的可执行文件,如果找到,则执行该文件。而 /usr/local/bin 目录就是PATH环境变量中出现频率较高的目录之一。

比如,我们在终端中输入ls 命令,终端就会搜索PATH环境变量中的路径,找到对应的可执行文件。 正常情况下,我们是不需要手动设置PATH环境变量的,因为Linux系统默认已经将/usr/local/bin 目录添加到了PATH环境变量中。

四、 usr/local/bin 目录和系统配置

作为管理员,我们可能需要在系统的配置中添加 /usr/local/bin 目录。这样,就可以让所有非特权用户都能够使用该目录中的文件。

要在系统的配置中添加 /usr/local/bin 目录,我们需要修改/etc/environment 文件。具体来说,我们需要将/usr/local/bin 目录添加到PATH环境变量中,即在/etc/environment 文件中添加如下行:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

当然,在修改/etc/environment 文件之前,我们应该先备份源文件。

五、 总结

/usr/local/bin 目录是Linux系统中的一个非常重要的目录之一。它的主要用途是存储用户自己安装的软件或脚本,并且还可以用来共享代码和存储安装后的第三方软件。同时,在系统的PATH环境变量中, /usr/local/bin 目录也是一个重要的路径之一。因此,了解 /usr/local/bin 目录的具体用途和特点非常重要。