[TOC]
## **一、/etc/environment vs /etc/profile**
/etc/profile是shell如bash进程的配置文件,配置环境变量的语法为 export KEY=VALUE
/etc/environment是为所有进程进行设置的,配置环境变量的语法为 KEY=VALUE
## **二、/etc/profile vs /etc/bashrc vs ~/.profile等**
这些文件都是shell/bash进程在初始化时可能会读取的文件,根据 [此图](http://www.solipsys.co.uk/new/BashInitialisationFiles.html),来决定要读取哪些文件:
![](https://img.kancloud.cn/de/54/de543b42e7613c121455d8bfc4a7e116_611x640.png)
要弄懂上面的流程,需要知道下面的背景知识
#### **2.1 bash的login vs non-login,以及interactive以及non-interactive**
参考如下两篇文章
https://zhuanlan.zhihu.com/p/509203831
https://tecadmin.net/difference-between-login-and-non-login-shell
## **三、FAQ**
Q:为什么在linux上安装go,并把`/usr/local/go/bin`目录在`/etc/profile`文件中,增加一行`export PATH=$PATH:/usr/local/go/bin`,在执行`sudo go get ..`命令时,提示找不到go命令?
A:sudo命令查找的PATH是`/etc/sudoers`中的如下一行决定的
```
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
```
参考:https://techkluster.com/linux/sudo-command-not-found/
## **四、参考**
* https://zhuanlan.zhihu.com/p/509203831
* https://stackoverflow.com/questions/18791486/differences-uses-and-similarities-between-bashrc-bash-profile-and-etc-profil
* http://blog.itpub.net/27040306/viewspace-732343/
* https://www.ibm.com/docs/sr/aix/7.2?topic=files-etcenvironment-file
* https://www.stefaanlippens.net/bashrc_and_others/
* https://tecadmin.net/difference-between-login-and-non-login-shell/#:~:text=A%20Bash%20shell%20can%20be%20either%20a%20login,user%2C%20the%20first%20shell%20is%20the%20login%20shell.
- 常用命令
- 用户与用户组
- 创建用户与用户组
- 快速脚本
- umask
- Yum源
- 基础Yum源
- Epel源
- 制作Yum源
- 同步Yum源
- 为Yum源配置代理
- 下载RPM及依赖
- 系统与内核
- 获取内核的rpm包
- 升级内核
- Iptables
- 基本语法
- 匹配条件
- 基础匹配条件
- 扩展匹配条件
- Addrtype
- Set
- TCP
- Mark
- Multiport
- 目标
- 基本目标
- 扩展目标
- DNAT
- LOG
- CT
- NOTRACK
- MARK
- IP set
- 连接追踪
- 初识连接追踪
- 连接追踪详解
- NAT
- 思路与参考汇总
- 数据结构
- FAQ
- Keepalived
- 单网卡多VIP
- 安装Keepalived
- 双网卡绑VIP
- 别名VIP和辅助VIP
- LVS
- 安装LVS
- Ipvsadm命令
- 磁盘与分区
- 基础知识
- 创建分区
- 格式化与挂载
- Fstab
- LVM
- LVM扩容
- Swap分区
- Tmpfs
- 网络相关
- 重命名网卡
- resolv.conf
- Tcpdump
- nslookup与dig
- ifcg-xxx
- 主机名
- 软件安装
- NFS
- Squid
- Redsocks
- Shadowsocks
- 时钟同步
- Chrony
- FTP
- 文件句柄
- 简介
- 设置文件句柄
- 其他
- SSH密钥登录
- 进程组-会话-终端
- X11转发
- 环境变量
- 常见问题
- 系统进程数
- 系统调用
- 系统调用FAQ
- 用户程序如何进行系统调用