美文网首页
20.10.20 ~/.bashrc 和 /etc/profil

20.10.20 ~/.bashrc 和 /etc/profil

作者: mpcv | 来源:发表于2020-10-20 19:22 被阅读0次

1. 背景

只要在ubuntu下面做事情,免不了和 ~/.bashrc/etc/profile打交道。

这两个文件主要维护环境变量,其中:

(1) ~/.bashrc 等同于 window 下的高级系统设置->环境变量->xxx的用户变量(xxx为用户名),保存的是当前用户的环境变量,只对当前用户起作用;

(2) /etc/profile等同于windows下的高级系统设置->环境变量->系统变量,保存的是系统环境变量,对所有用户都起作用。

那这个环境变量有什么用?

一句话概括就是:一个路径只要写到了环境变量里,那么这个文件夹下面的库(.a, .so)和可执行程序就可以在整个系统搜索到了。

比方说我们经常在Ubuntu系统中安装Anaconda(目的是使用Anaconda对应的python),通常默认的安装路径为~/anaconda3,但是这个路径并不在环境变量里,如果我们想使用Anaconda的python,只能在终端通过输入指令~/anaconda3/bin/python打开,而不是在终端直接输入python,因为这将打开系统自带的python。

再举个例子就是我们用安装了nvidia gpu的ubuntu服务器训练深度学习算法,通常第一步是安装cuda驱动和sdk,但sdk的默认安装路径/usr/local/cuda 并不在系统目录,所以即使安装成功,但如果不把这个路径加入到用户环境变量/系统环境变量,还是不可以用。

2. 用法

把路径加入到环境变量分三步:
(1)打开环境变量文件

gedit ~/.bashrc # 打开用户环境变量
# 或者
sudo gedit /etc/profile # 打开系统环境变量

# 如果是远程,把gedit换成vim

(2)在环境变量文件中,把路径加入对应的环境变量
在这里要多说一句,我们主要用到两个环境变量:PATHLD_LIBRARY_PATH,其中PATH保存可执行程序文件的路径;LD_LIBRARY_PATH保存库文件的路径。对应的写法分别如下:
可执行程序文件的路径:

export PATH=/usr/local/cuda/bin:$PATH
export PATH=/home/xxx/anaconda3/bin:$PATH

export表示输出的意思,其实就是用新的变量更新原有变量。

库文件的路径:

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

(3)使更新后的环境变量生效

source ~/.bashrc
# 或
source /etc/profile

执行到这里,新的环境变量就真正开始生效了。

相关文章

网友评论

      本文标题:20.10.20 ~/.bashrc 和 /etc/profil

      本文链接:https://www.haomeiwen.com/subject/hsadmktx.html