作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:
Linux日常运维-主机名&hosts
Linux日常运维-history
Linux日常运维-SSHD(一)
Linux日常运维-SSHD(二)
Linux日常运维-ENV(一)
Linux日常运维-ENV(二)(本章节)
Linux日常运维-任务计划
前面讲了,Linux环境变量的基本概念,以及不同名字的环境变量大概意思,下面讲几个常用的环境变量的用法。
用户级别的配置文件
-
-
~/.bashrc
文件用于每次打开新的Shell会话时加载的配置。这里定义的环境变量通常也只对当前用户有效。 -
示例:
export PS1='\[\e[32m\]\u@\h\[\e[0m\]:\w\$ ' export LANG="en_US.UTF-8"
-
这些文件用于设置用户登录时的环境变量。通常在这里设置的环境变量只对当前用户有效。
-
示例:
export PATH="$HOME/bin:$PATH" export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
-
~/.bash_profile 或 ~/.profile:
-
~/.bashrc:
系统级别的配置文件
-
/etc/profile
文件用于设置系统全局的环境变量,这些变量对系统中所有用户和进程都有效。 -
示例:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" LANG="en_US.UTF-8"
-
profile
文件是系统级别的bash shell的配置文件,它定义了系统上所有用户共享的环境变量和配置。 -
示例:
export PATH="/usr/local/bin:/usr/bin:/bin" export LC_ALL="en_US.UTF-8"
-
/etc/profile:
-
/etc/environment:
-
总结
1.在前面用户我们讲su命令的时候说过,su -l 或者su - 的时候会加载用户环境变量,加载的就是这里的的用户级别配置文件下的内容。
2.二进制软件包,可以通过添加环境变量的方式来直接访问,也可以直接放置到PATH对应的目录。比如最常见的JDK,一般都是通过把路径添加到环境变量里面然后访问。
[root@localhost ~]# cat /etc/profile |grep export
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export NODE_HOME=/usr/local/node-v14.21.3-linux-x64
export PATH=$NODE_HOME/bin:$PATH
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
3.环境变量的优先级确实是按照命令行设置 > 系统级别 > 用户级别的顺序。这意味着通过命令行直接设置的环境变量会优先于系统级别和用户级别的配置文件中的定义。
4.实际上以上那么多环境变量相关的配置文件,如果临时用,我就在命令行里面添加,要永久使用的,我都是写到/etc/profile这个文件里面。
关注微信公众号《运维小路》获取更多内容。