在从事linux自动化运维的过程中需要对linux有一定的掌握,包括环境变量的含义、环境变量的解释了解
变量:
1.环境变量
环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程
环境变量:系统在启动过程中预先指定好的一系列的变量.比如当前用户是谁 当前shell是什么 当前用户的家目录在什么位置等等

2.预定义变量
预定义变量:系统预定义好的 和进程名称 进程编号 进程参数 进程返回值相关
3.位置变量:和命令行参数相关
4.自定义变量(用户自己定义的变量)

echo
> :定向符,可生成文件
>>:追加符,将字符追加到文件中
如:echo 123 > a.txt

echo  $a      输出a的变量值
环境变量,子shell是有继承性的,自定义变量没有继承性
export:使变量拥有继承性
用户家目录下

.bash_logout  表示用户退出时所要执行的命令
.bash_history 记录当用户退出时写入用户执行过得命令
.bashrc       保存执行的环境变量和其他自动执行的命令和变量
.bash_profile 保存用户搜索命令的路径,PATH变量是保存在.bash_profile  文件中

su命令的区别
su作为系统常用切换用户的命令,这也是linux自动化运维需要了解到的常识
su 后加- 和不加-的区别在于是否彻底切换到用户的环境  
不加“-”不彻底切换 ,所执行的命令还是在 切换前用户的权限下;user1 su root    所执行命令时所执行的是 /bin 命令
加  “-”表示彻底切换,所执行命令时是所在当前用户权限下,  user su - root   所执行命令的是/sbin 下的命令

env     查看系统全部环境变量
env | wc -l  
set查看所有变量
添加到环境变量
PATH=$PATH:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/nginx/sbin/nginx

export  c=20  导出,继承性(当你在一个shell下设置一个变量,他的子shell也起作用)
unset c 取消变量  unset c=100
1、~./bashrc 不需要登录加载的文件        
2、~./bash_profile 是需要登录之后加载的文件
3、/etc/bashrc   
4、/etc/profile 这两个文件是全局加载的文件,对于哪个户都起作用;

PS1='^.^'  在终端中更改提示符  
set  显示当前的变量信息,设置变量  set  c=100
unset  取消变量     unset c=100

echo $HOSTNAME=hostname
echo $PWD=pwd
echo $UID=id
echo $PATH
PS1环境变量的格式
PS2第2终端符

环境变量:
输入用户名密码登录的时候启动的4个脚本:
/etc/bashrc
/etc/profile
~/.bashrc
~/.bash_profile

bashrc  非登录shell读他
profile 登录shell读他

可以把想要开机启动的命令写到这4个脚本里面