linux 环境变量

https://blog.csdn.net/baidu_39622935/article/details/83143534
在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件,

.bash_history 记录之前输入的命令

.bash_logout 当你退出时执行的命令

.bash_profile 当你登入shell时执行

.bashrc 当你登入shell时执行

请注意后两个的区别:’.bash_profile’只在会话开始时被读取一次,而’.bashrc’则每次打开新的终端时,都要被读取。

这些文件是每一位用户对终端功能和属性设置,修改.bashrc可以改变环境变量PATH、别名alias和提示符。具体如何修改会在下面做介绍。除了可以修改用户目录下的.bashrc文件外,还可以修改如“/etc/profile”文件、“/etc/bashrc”文件及目录“/etc /profile.d”下的文件。但是修改/etc路径下的配置文件将会应用到整个系统,属于系统级的配置,而修改用户目录下的.bashrc则只是限制在用户应用上,属于用户级设置。两者在应用范围上有所区别,建议如需修改的话,修改用户目录下的.bashrc,即无需root权限,也不会影响其他用户。

每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。

一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取 ~/.bash_profile 文件,
这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。

通过不同的方式可以进入不同的shell的运行模式,如下:
1. 登录系统时,获得的是一种交互式的login shell;
2. 在终端下使用–login参数调用bash时,获得的是交互式的login shell,如果不加–login参数,则获得的是交互式的non-login
shell;
3. 在脚本中使用–login选项调用bash时,获得的是非交互式的login shell(如#! /bin/bash),如果不加–login选项,则获得的
是非交互式的non-login shell;
4. 使用su -切换用户时,获得的是交互式的login shell,如果不加"-"获得的是交互式的non-login shell。

login shell与non-login shell的主要区别在于启动时读取不同的配置文件,从而导致环境不同。

1. 交互式login shell启动时首先读取/etc/profile文件信息,一般会在/etc/profile加载/etc/bashrc文件,然后依次查找 ~/.bash_profile 、 ~/.bash_login 、 ~/.profile 配置文件,并且读取找到的第一个且可读的文件,最后再读取
~/.bashrc 文件 ,login shell在退出时会读取~/.bash_logout文件;
2. 交互式non-login shell启动时首先读取/etc/bashrc文件,然后读取~/.bashrc文件;
3. 非交互式login shell启动时首先读取/etc/profile文件信息,但不会加载/etc/bashrc文件,然后依次查找~/.bash_profile 、
~/.bash_login 、 ~/.profile 配置文件,并且读取找到的第一个且可读的文件,但也不会再加载 ~/.bashrc文件;login shell在退出时会读取~/.bash_logout文件;
4. 非交互式non-login shell启动时不会读取上面的配置文件,而是找到环境变量BASH_ENV,并且读取BASH_ENV中指定的文件的命令;

由此可以知道,bashrc仅在交互式shell启动时被读取,profile仅在login shell启动进被读取。

PATH环境变量修改

PATH变量决定了shell 将到哪些目录中寻找命令或程序。如果要执行的命令的目录在 $PATH 中,您就不必输入这个命令的完整路径,直接输入命令就可以了。

在终端输入:

export PATH=$PATH:/some/directory

对当前终端有效。

将”export”的那行添加到.bashrc或/etc/bashrc文件中则当前用户每次登陆都会有效。

非ROOT用户安装第三方软件
Linux下非root用户安装软件的一般流程(两种方法):

way1:

1 获取源代码,常用wget方式直接从url下载,ubuntu可以用apt-get source来获取仓库中软件源代码;

2 解压源代码安装包,多为gzip过的tar包,一般使用tar -zxvf xxx.tar.gz即可;

3 切换到解压后的目录,运行 ./configure。./configure –help可以列出配置项,非root用户最重要的配置项是安装目录prefix,例如 ./configure –prefix=/path/to/bin。在无法自动找到依赖库位置的情况下,用 –with-xx-dir=xxx 的形式配置依赖库位置;

4 编译源代码并复制可执行文件到指定的安装目录: make && make install。这两条命令可以分开执行,make时指定 -j 参数并行编译,能显著减少编译耗时(单进程编译GCC需要几个小时,开启并行编译后可缩短到十几分钟);

5 使用export PATH=/path/to/bin:$PATH更新PATH变量。命令行窗口运行此命令只对本次会话中有效,可将其写到.bashrc或者.bash_profile中; source ~/.bashrc 生效

6 如果安装的是动态链接库(生成/lib/xxx.so.3文件而不是/bin的二进制文件),则需要更新动态链接库路径: export LD_LIBRARY_PATH="/path to x.so:$LD_LIBRARY_PATH"。最好将此命令写在.bashrc文件中,用户下次打开会话时自动执行。

way2:

1 apt-get download package_name 下载deb包 (当无法下载时尝试apt download和apitutde download )
2 dpkg -x package.deb /home/hanj 安装deb包(会安装在/home/hanj/usr下)
3 在/home/hanj/usr下找到/bin的二进制文件加入PATH,或者/lib动态库文件.so加入动态链接库LD_LIBRARY_PATH
这种方法存在的问题是不能解决依赖, 可以用apt -s install package命令模拟安装,来获得依赖信息。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值