linux environment config files(bashrc profile )

本文解析了Linux系统中Shell配置文件的加载顺序与应用场景,包括全局与用户级别的配置文件,如/etc/profile、~/.bashrc等,并说明了不同登录方式下配置文件的读取规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)/etc/profile
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

(2)/ect/bashrc
Ubuntu没有此文件,与之对应的是/ect/bash.bashrc
它也是全局(公有)的
bash执行时,不管是何种方式,都会读取此文件。

(3)~/.profile
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。

(4)~/.bash_login
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。

(5)~/.bash_profile
Unbutu默认没有此文件,可新建。
只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。

(6)~/.bashrc
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

(7)~/.bash_logout
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。

下面是在本机的几个例子:
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 从其它用户su到该用户,则分两种情况:
(1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。
(2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。


我现在遇到了一个问题,就是初始化vsc的终端时,conda在终端显示上是激活的,conda env list也显示是在的,但是就是python版本不是显示的虚拟环境的python 具体情况如下 /home/New_Disk/kecin/workspace/jkw/codes/XFMamba JKW !32 ?2 ❯ conda info  mamba kecin@ASRI4090 12:00:50 active environment : mamba active env location : /home/kecin/miniconda3/envs/mamba shell level : 2 user config file : /home/kecin/.condarc populated config files : /home/kecin/.condarc conda version : 25.5.1 conda-build version : not installed python version : 3.12.2.final.0 solver : libmamba (default) virtual packages : __archspec=1=skylake __conda=25.5.1=0 __cuda=12.4=0 __glibc=2.35=0 __linux=6.8.0=0 __unix=0=0 base environment : /home/kecin/miniconda3 (writable) conda av data dir : /home/kecin/miniconda3/etc/conda conda av metadata url : None channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/kecin/miniconda3/pkgs /home/kecin/.conda/pkgs envs directories : /home/kecin/miniconda3/envs /home/kecin/.conda/envs platform : linux-64 user-agent : conda/25.5.1 requests/2.32.4 CPython/3.12.2 Linux/6.8.0-60-generic ubuntu/22.04.5 glibc/2.35 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.1.0 UID:GID : 1002:1002 netrc file : /home/kecin/.netrc offline mode : False /home/N/kecin/workspace/jkw/codes/XFMamba JKW !32 ?2 ❯ which python  mamba kecin@ASRI4090 12:00:59 /home/kecin/miniconda3/bin/python /home/N/kecin/workspace/jkw/codes/XFMamba JKW !32 ?2 ❯ conda activate mamba  mamba kecin@ASRI4090 12:01:03 /home/N/kecin/workspace/jkw/codes/XFMamba JKW !32 ?2 ❯ conda info  mamba kecin@ASRI4090 12:01:09 active environment : mamba active env location : /home/kecin/miniconda3/envs/mamba shell level : 2 user config file : /home/kecin/.condarc populated config files : /home/kecin/.condarc conda version : 25.5.1 conda-build version : not installed python version : 3.12.2.final.0 solver : libmamba (default) virtual packages : __archspec=1=skylake __conda=25.5.1=0 __cuda=12.4=0 __glibc=2.35=0 __linux=6.8.0=0 __unix=0=0 base environment : /home/kecin/miniconda3 (writable) conda av data dir : /home/kecin/miniconda3/etc/conda conda av metadata url : None channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/kecin/miniconda3/pkgs /home/kecin/.conda/pkgs envs directories : /home/kecin/miniconda3/envs /home/kecin/.conda/envs platform : linux-64 user-agent : conda/25.5.1 requests/2.32.4 CPython/3.12.2 Linux/6.8.0-60-generic ubuntu/22.04.5 glibc/2.35 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.1.0 UID:GID : 1002:1002 netrc file : /home/kecin/.netrc offline mode : False /home/N/kecin/workspace/jkw/codes/XFMamba JKW !32 ?2 ❯ which python  mamba kecin@ASRI4090 12:01:13 /home/kecin/miniconda3/envs/mamba/bin/python
最新发布
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值