linux环境变量文件补充

环境变量相关的文件主要就是下面几个(按照执行顺序列出):/etc/profile、/etc/profile.d(文件夹)、~/.bash_profile、~/.bashrc、/etc/bashrc

在文件/etc/profile中给出的官方头为

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc


# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

意思是说这个文件主要为环境变量和登录操作而准备,如果想增加登录函数与函数别名,请到/etc/bashrc文件中

如果想增加环境变量的话,尽量不要更改此文件,建议在/etc/profile.d文件夹中增加。

首先新建一个文本,内容为:export 变量名=变量体

一般有root权限会在这里增加环境变量,这样所有的用户就都可以使用这些环境变量


/.bash_profile文件中说明为

# User specific environment and startup programs

意思为此文件是用户定义的环境和启动程序所在,一般如果没有root权限,都会在这个文件中增加相应的环境变量,但是问题就是只有这个用户能够使用该环境变量。


注意0:在更改环境变量文件后注意刷新

使用“source 文件名”命令进行创新,source也可以使用"."代替。


注意1:su 和su -

su:只是切换到了root用户,但是环境变量还是普通用户的

su -:环境变量与工作目录同时切换到root用户


注意2:对于某些程序,特别是使用原始套接字raw socket的程序,只有使用root权限才能正确执行。

但是对于ping来说,任何一个用户都能够使用,是因为ping的拥有者与属组都是root,同时ping文件具有s属性,也就是执行时能够以所有者root的身份去执行。

增加s属性命令:chmod u+s test

改变拥有者与属组:chown root:root test


注意3:对于智能以root身份运行的程序,特别是使用第三方库的程序,有时会出现找不到库的提示,即使查看env环境变量LD_LIBRARY_PATH属性中相应的库路径也是存在的,此情况机理未知,但是已经有解决方案。

Linux在寻找动态库时的默认路径顺序为/lib和/usr/lib,然后如果存在LD_LIBRARY_PATH环境变量也会自动搜索此变量。

我们可以指定系统的动态库路径,首选的是增加LD_LIBRARY_PATH变量,如果此变量没有作用,可以选择在 /etc/ld.so.conf.d文件夹下新建库路径文件来增加搜索路径。

系统执行的虽然是/etc/ld.so.conf文件,但是在该文件中只包含了一句话include ld.so.conf.d/*.conf,所以我们只需要在/etc/ld.so.conf.d文件夹下创建相应的路径配置文件即可。

在配置完毕后一定要使用ldconfig进行缓存的刷新。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值