Shell基础-环境变量配置文件
Shell基础-环境变量配置文件简介
环境变量
环境变量的作用是定义每个用户的操作环境,能够让我们快速访问某些程序或文件,省去了每次给出完整路径名的麻烦。
环境变量的作用是定义每个用户的操作环境,能够让我们快速访问某些程序或文件,省去了每次给出完整路径名的麻烦。
环境变量配置文件简介
在环境变量配置文件中主要是 定义 对系统操作环境生效的系统默认环境变量,比如PATH、HISTSIZE、PS1、HOSTNAME等默认环境变量。
当我们想添加自定义环境变量,并希望它永久生效,那么就需要将它写入到环境变量的配置文件中。
在环境变量配置文件中主要是 定义 对系统操作环境生效的系统默认环境变量,比如PATH、HISTSIZE、PS1、HOSTNAME等默认环境变量。
当我们想添加自定义环境变量,并希望它永久生效,那么就需要将它写入到环境变量的配置文件中。
source命令
作用:本来修改配置文件后,需要重启才能生效,但是使用source命令不用重启。
作用:本来修改配置文件后,需要重启才能生效,但是使用source命令不用重启。
格式: source 配置文件(之间有空格)或 . 配置文件(.后有空格)
. 点就是source,它是source的简写。
. 点就是source,它是source的简写。
在Linux中的环境变量配置文件有下面5个,根据它们的作用范围分为两种,一种是针对整个系统,一种是针对单个用户。
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
~/.bashrc
~/.bash_profile
上面的5个文件中, ~代表用户的家目录,/etc目录下的配置文件,对所有的用户都会生效;所以前三个对所有用户起作用,后两个,只对当前用户有效。
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
~/.bashrc
~/.bash_profile
上面的5个文件中, ~代表用户的家目录,/etc目录下的配置文件,对所有的用户都会生效;所以前三个对所有用户起作用,后两个,只对当前用户有效。
/etc/profile 文件的作用:
USER变量
LOGNAME变量
MAIL变量
PATH变量
HOSTNAME变量
HISTSIZE变量
umask
调用/etc/profile.d/*.sh文件
/etc/profile.d/*.sh 文件的作用:主要是设置Linux系统的语言环境。
~/.bash_profile 文件的作用:
在PATH变量后拼接:$HOME/bin
调用 ~/.bashrc文件
~/.bashrc 文件的作用:定义命令别名,调用/etc/bashrc文件。
/etc/bashrc 文件的作用:
PS1变量(仅适合于用户登录时)
PASH变量(仅适合于非登录shell时)
umask(仅适合于非登录shell时)
调用/etc/profile.d/*.sh文件(仅适合于非登录shell时)
USER变量
LOGNAME变量
MAIL变量
PATH变量
HOSTNAME变量
HISTSIZE变量
umask
调用/etc/profile.d/*.sh文件
/etc/profile.d/*.sh 文件的作用:主要是设置Linux系统的语言环境。
~/.bash_profile 文件的作用:
在PATH变量后拼接:$HOME/bin
调用 ~/.bashrc文件
~/.bashrc 文件的作用:定义命令别名,调用/etc/bashrc文件。
/etc/bashrc 文件的作用:
PS1变量(仅适合于用户登录时)
PASH变量(仅适合于非登录shell时)
umask(仅适合于非登录shell时)
调用/etc/profile.d/*.sh文件(仅适合于非登录shell时)
环境变量配置文件的加载顺序流程图
环境变量配置文件的加载分两种情况:
1)用户登录(用户名+密码登录)
2)非登录shell(bash,直接从当前登录的shell切换到其他shell或子shell)
如果用户通过用户名和密码登录Linux,先加载/etc/profile,然后加载/etc/profile.d/*.sh和\~/.bash_profile,然后加载\~/.bashrc,最后加载/etc/bashrc。/etc/bashrc中会设置PS1变量的值,最终出现命令提示符界面。
如果从当前登录的shell切换到其他shell或子shell,就会重新设置PASH变量和umask,并再次调用/etc/profile.d/*.sh文件。
相同的配置,越在后面加载,优先级就越高。
如果从当前登录的shell切换到其他shell或子shell,就会重新设置PASH变量和umask,并再次调用/etc/profile.d/*.sh文件。
相同的配置,越在后面加载,优先级就越高。
其它配置文件和登录信息
1)注销时生效的环境变量配置文件
~/.bash_logout:用户注销登录时,会执行。
2)历史命令配置文件
~/bash_history
注意: 用户登录后,操作的一系列命令,并不会立即写入 \~/bash_history 文件。只有当该用户注销或者重新登录后,才会将上一次登录时运行的所有命令写入该文件。
如果设置密码了等其它隐秘信息,要及时清理。其它时候不建议清理历史文件。
3)shell登录信息
shell登录信息分为登录之前的信息和登录之后的信息。
登录前,本地终端欢迎信息:/etc/issue 配置文件。
转义符 作用
\d 显示当前系统日期
\s 显示操作系统名称
\l 显示登录终端号(tty1)
\m 显示硬件体系结构
\n 显示主机名
\o 显示域名
\r 显示内核版本
\t 显示当前系统时间
\u 显示当前登录用户的***
在远程终端欢迎信息:/etc/issue.net
上面的转义符是不能使用的,只能使用纯文本。
是否显示此信息,由ssh的配置文件/etc/ssh/sshd_config决定,加入"Banner /etc/issue.net"行才能显示(需要重启SSH服务)。
重启SSH服务 service sshd restart.
1)注销时生效的环境变量配置文件
~/.bash_logout:用户注销登录时,会执行。
2)历史命令配置文件
~/bash_history
注意: 用户登录后,操作的一系列命令,并不会立即写入 \~/bash_history 文件。只有当该用户注销或者重新登录后,才会将上一次登录时运行的所有命令写入该文件。
如果设置密码了等其它隐秘信息,要及时清理。其它时候不建议清理历史文件。
3)shell登录信息
shell登录信息分为登录之前的信息和登录之后的信息。
登录前,本地终端欢迎信息:/etc/issue 配置文件。
转义符 作用
\d 显示当前系统日期
\s 显示操作系统名称
\l 显示登录终端号(tty1)
\m 显示硬件体系结构
\n 显示主机名
\o 显示域名
\r 显示内核版本
\t 显示当前系统时间
\u 显示当前登录用户的***
在远程终端欢迎信息:/etc/issue.net
上面的转义符是不能使用的,只能使用纯文本。
是否显示此信息,由ssh的配置文件/etc/ssh/sshd_config决定,加入"Banner /etc/issue.net"行才能显示(需要重启SSH服务)。
重启SSH服务 service sshd restart.
登录后,欢迎信息: /etc/motd 配置文件。
不管是本地登录,还是远程登录,登录之后,都可以显示此欢迎信息。
该欢迎信息是在用户登录之后才会显示。
不管是本地登录,还是远程登录,登录之后,都可以显示此欢迎信息。
该欢迎信息是在用户登录之后才会显示。