在linux中常见的系统环境变量有以下这几种
PATH
决定了shell将到哪些目录中寻找命令或程序HOME
当前用户主目录HISTSIZE
历史命令记录数LOGNAME
当前用户的登录名HOSTNAME
指主机的名称SHELL
当前用户Shell类型TERM
终端环境SSH_CLIENT
当前操作环境使用ssh连接的,这里记录客户端IPSSH_TTY
ssh连接的终端时pts/1USER
当前登录的用户LANGUGE
语言相关的环境变量,多语言可以修改此环境变量MAIL
当前用户的邮件存放目录PS1
基本提示符,对于root用户是#,对于普通用户是$
set
查看所有的变量
env
查看所有的环境变量
环境变量是全局变量 自定义变量是局部变量
设置环境变量 使用命令export
export 变量名=变量值
下面我们来详细的讲解一下 PATH 和 PS1 变量
- PATH
PATH变量:系统查找命令的路径
举个例子当我们使用ls
命令的时候 系统会自动在PATH目录中寻找ls
命令所在的路径来调用命令 省去了我们使用绝对路径调用程序的烦恼
众所周知 ls
命令是保存在 /usr/bin
目录下的 下面我们把 PATH 中的 /usr/bin
删除
把
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin
改成
PATH=/usr/local/sbin:/usr/sbin:/root/.local/bin:/root/bin
然后我们就发现我们的ls
命令不好用了 如下图 并显示命令找不到
PS1
PS1变量:命令提示符设置什么是命令提示符呢
[root@izuf66bc6zb0cuc0f7x9krz ~]#
这个就是命令提示符
我们先输出系统中的 PS1
[root@izuf66bc6zb0cuc0f7x9krz ~]# echo $PS1
[\u@\h \W]\$
###各个参数的作用如下
\d :代表日期,格式为weekday month date,例如:"Mon Aug1"
\H:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
下面我们来修改一下 PS1
现在我们的命令提示符是[root@izuf66bc6zb0cuc0f7x9krz conf.d]
PS1 是'[\u@\h \W]\$'
我们来把它改成'[\u@\t \w]\$ '
然后就会发现我们的 命令提示符变成了[root@18:59:01 /etc/nginx/conf.d]#