Linux下为什么要设置环境变量
为什么要设置环境变量?
因为Linux执行一些命令时,它会去很多目录去搜索对应的可执行程序,如果可执行程序分散在不同的目录下,当搜索时,这样会非常的耗费时间,所以Linux就约定,当执行一个命令时,就到一个指定的文件中去寻找可执行程序所在的目录,这个指定的文件就是环境变量配置文件。
常见的环境变量
- PATH:决定了shell将到哪些目录中寻找命令或程序
- HOME:当前用户主目录
- MAIL:是指当前用户的邮件存放目录。
- SHELL:是指当前用户用的是哪种Shell。
- HISTSIZE:是指保存历史命令记录的条数。
- LOGNAME:是指当前用户的登录名。
- HOSTNAME:是指主机名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
- LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
配置文件
Linux下配置环境变量的文件有两种:
- 配置~/.bashrc(宿主目录下,即执行命令: cd ~ 就进入宿主目录*)
- 配置/etc/profile文件
配置这两个文件有什么区别呢?,首先介绍这两个文件的作用。
Linux是一个多用户的操作系统,每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,方法就是修改相应的系统环境变量,即:~/.bashrc。所以 ~/.bashrc里的环境变量是针对当前登录的用户有效,是局部的。
用户登录或切换(即Login shell 启动)时会有一个专用的运行环境,它就保存在/etc/profile中,所以用户登录和用户的切换时,首先执行 /etc/profile这个文件。/etc/profile文件的作用就是存放系统的环境变量,它对所有用户都有效,是全局的。
上面所述,配置~/.bashrc文件,针对当前登录用户有效,配置/etc/profile文件,对所有登录用户有效。
如何配置
首先介绍一个命令:export。
Linux export 命令用于设置或显示环境变量。
export [-fnp][变量名称]=[变量设置值]
例如:
修改.bashrc文件
vim ~.bashrc
在里面加入:
export PATH="$PATH:/usr/local/arm/bin"
修改 /etc/profile
vim /etc/profile
在里面加入:
export PATH="$PATH:/usr/local/arm/bin"
以上两种方法需要重新注销系统才能生效,最后可以通过下面两个命令测试。
echo $PATH
arm-linux-gcc -v
--------------------------------------
64位Ubuntu安装arm交叉编译器后设置环境变量
arm交叉编译去安装步骤:
1、在目录/usr/local下建一个文件夹arm。
2、复制编译器压缩包到文件夹arm下并且解压。
3、进入解压文件夹中的bin文件夹,执行arm-linux-gcc编译器,./arm-linux-gcc -v,(一般不是这个名字,可能是其它名字,要根据实际情况)如果成功执行,则安装成功;如果提示:no such file or directory,则表示64位ubuntu不能识别32位编译器,需要安装一个32位的兼容库:lib32ncurses5 lib32z1。
环境变量设置步骤:
1、进入root宿主目录:cd ~
2、打开.bashrc,最后一行添加:export PATH=$PATH:/usr/local/arm/bin
3、关闭终端,重新打开终端,设置生效