linuxps1的设置
❶ linux 字体颜色设置
在linux中,我们在编辑时需要对文档编辑或者一些信息的显示加上颜色,增强阅读的效果
格式: echo -e "\033[字体颜色;字背景颜色m字符串\033[0m"
要显示什么颜色,优先是先判断位置,按语法上来说,应该是先字体色,然后是背景色,但是字体色的地方数值为43,所以判断为背景的颜色,而在后面的31本应该是背景色,结果数值31位字体的颜色,所以显示的效果是字体的颜色为红色,而不是背景红色,假设如弯这个31是数值41,则表示背景的为红色,整体的效果就是红色背景,字体处没有颜色,为默认的白色,且效果是闪烁。
其中设置颜色的格式为:\033[ ; m …… \033[0m,其中ascii code是对颜色调用的始末.也可以表示为\e[F;Bm…….\e[0m
字背景颜色范围: 40--49 字颜色: 30--39
例如显示红色,其中红色^[[31mred^[[0m其中^[是在插入编辑模式下按键进去额ctr+v+[这三个按键输入的。
假设写在文档tt1写入对应的语句来查看,通过cat tt1验证效果
^[[31mred^[[0m :表示对应的字是红色字体,没有底色,如下截图
^[[31mred^[[44m:表示红色字体,底色为紫红色。假设写在文档tt1,后面cat tt1.这个屏幕底色都是蓝色,字都是红色如下截图
^[[31;44mred^[[0m:表示红色字体,字和屏幕的底色为蓝色,背景没有底色,和^[[31mred^[[44m效果一样。如下截图
^[[31;44mred^[[44m:表示红色字体,底色都是蓝色
在命令行里输入命令:echo -e '\e[43;31;4mmage\e[0m',得到如下的效果
PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:echo $PS1,就会输出PS1的定义:
默认的PS1变量值为 : PS1="[\u@\h \W]$"
PS1的定义中个常用的参数的含义如下:
给PS1赋值如下:
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
这里需要注意,颜色的结束调用符号,要放在最后面,否则当使用命令history查看历史命令时,会出现各种异常的显示
正确的结果得到的结果如下图
当把结束符调整到$前面,如PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\[\e[0m\\$",使用history查找的时候出现了如下的异常显示
注意,这里赋值的时候要用单引号才能得到要带橡拆的效果,只是单纯改变颜色,其他值不改变,如果赋值用双引号,如蠢枣下
错误写法:PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\$"
得到的效果如下:
如果是root时,提示符为:# ,普通用户则为:$,但是双引号后root的提示符为$,是不对的
解决办法:如果用双引号,需要再\$前再加一个\,语句如下
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
赋值为PS1='\[\e[43m\][\[\e[31m\]\u@\[\e[34m\]\h \W]\$\e[0m'
效果如下截图
这个例子,我们可以明显看出,\e[颜色值m这个是说明接下来的颜色从这里开始是什么颜色,\e[0m说明的是颜色的结束位置,
这里需要注意的是,如果没有通过\[ \]对每一个颜色进行界定,使用过程,如上翻历史页,就会出现显示异常。
将设置好的PS1变量写到家目录下的.bashrc 里面,这样后面开启的终端都有效。
$ vim .bashrc
打开后添加一行
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\\$"
保存退出再次登录时显示的颜色也会是我们设定的值了。
❷ 我想在我的 linux 环境下设置PS1 要求是ps1里面有当前时间 并且随着每次的shell 时间随着改变。请问能办到
PS1变量主要的参数说明
07-16 by LinuxA
在变量中,有PS1和PS2,他们都是命令提示符,PS1是最长见的,我们在命令行中输入命令的时候,会在前面看到类似这样的东西[root@localhost ~],这就是PS1的命令提示符;PS2就是我们在一行中要写入很长的命令,但是我现在想换行了,PS2就是你使用“\”换行符后,见到的提示符。下面是提示符变量中能用迟镇的一些主要参数
\d :代表日期,格式为 Weekday Month Date,
\H :完整的主机名称。
\h :仅显示主机名称中第一个名备搜字。
\t :显示时间,格式是 24 小时制(HH:MM:SS)
\A :显示时间,格式是24 小时制(HH:MM)
\T :显示时间,格式是12 小时制
\u :目前使用者的账号名
\v :BASH shell的版本
\w :完整的工作目录名仿旦历称
\W :利用 basename 取得工作目录名称,所以仅会列出最后一个目录名。
\# :所使用的第几个命令
\$ :如果是 root用户时,则提示字符是 # ,非root用户时提示符是 $
❸ linux下变量PS1的设置问题
PS1='[\u@\h \w #\#7]\$'
\u:目前账户
\h:主机名
\w:显示完整的工作目录
\#:执行的第几条笑昌命令
不是以\开头就是字符串字面值,#\#7这里面第一个#号和最后一个7就是字面的意思,中间的\#就代表是第改升芦几条命令。
这样就看明白了吧,比如你在主目录核带执行第一条命令就是:
[root@localhost ~ #17]#
第二条命令就是:
[root@localhost ~ #27]#
❹ Linux终端提示符PS1设置
linux终端提示符默认如下显示效果
这里主要想在终端提示这里看袜滚到 登录用户 、 服务器ip 和 绝对路径 ,如下显示:
这里主要通过PS1变量来进行设置
ps1默认备好帆为 [u@h W]$
各提示符的含义如下:
由此可知,默认显示当前用户、主机的第一个仿雹名字、当前工作目录
可以将PS1修改为如下:
上面还包含提示符颜色的设置,具体可以参考 PS1设置
如果想PS1的设置永久有效,可以在/etc/profile或.bashrc文件里进行设置,然后打开一个新的终端就会看到新设置的提示符生效了。
但是这里可能会发现,主机名显示的不是ip,显示如下:
原因是这里的hostname不是ip
因为需要修改hostname,提供一个快速永久修改hostname的方法
这时hostname就改成主机的ip了,
重新打开终端后就变成了想要的终端提示符
关于linux的 PS2、PS3、PS4 可以参考 linux下PS1、PS2、PS3、PS4最全详解
❺ Linux Shell的提示字符设置 - PS1变量用法
当每次在Linux中使用回车执行命令之后,都会回到最开始的提示字符处,这个过程就是取用了set命令下自定义变量PS1的值。
此处的 [\u@\h \W]\$ 就是 [cadmin@localhost ~]$ 的通用格式,通过修改PS1变量可以达到修改提示字符的目的。在这之前,需要先了解此处用的符号含义:
经过调整,自己最习惯的排列方式为 \u @ \h:\w\$
PS1中的颜色参数格式为\[\e[F;Bm\],F代表文本前景色,B代表背景色,这一串参数的位置就是这个颜色开始生效的位置,且后出现的颜色参数会覆盖前面的颜色参数。
例如 \[\033[01;32m\]\u @ \h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 赋值给PS1后,提示字符变成:
在当前shell里面的修改都只是暂时性的,只有将对应变量的赋值加入到对应用户的.bashrc下,才能在启动时就生效。
在文件最后加上 PS1="\[\033[01;32m\]\u @ \h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$" ,然后 source .bashrc 即可。
❻ linux中的PS1=%是什么
PS1:命令行提示符环境变量
下面是PS1变量中各特殊符号的含义:
\a 显示系统日期,格式:星期 日期
例:PS1="\d >" 结果:六 10月 24 >
\A 显示系统时间,格式:HH:MM
例:PS1="\A >" 结果:21:04 >
\t 显示系统时间,格式:HH:MM:SS (24小时制)
例:PS1="\t >" 结果:21:04:32 >
\T 显示系统时间,格式:HH:MM:SS (12小时制)
例:PS1="\T >" 结果:09:04:32 >
\h 显示主机名称(简称)
例:PS1="\h >" 结果:CentOS >
\H 显示主机名称(全称)
例:PS1="\H >" 结果:CentOS.localdomain >
注:这里对主机名称说明一下,如果查看本机主机名称,直接执行命令"hostname",如果想修改主机名称,则要以"root"用户权限,对 "/etc/sysconfig/network "文件进行修改
\u 显示用户名称
例:PS1="\u >" 结果:root >
\v 显示 bash 版本号
例:PS1="\v >" 结果:3.2.25 >
\w :完整的工作目录名称。根目录会以 ~代替
例:当前路径 /root/test
PS1="\w >" 结果:~/test >
\W :显示以 "basename" 命令取得路径信息的最底层目录名称
例:当前路径 /root/test
PS1="\W >" 结果:test >
\# :显示当前用户要求系统执行的命令的序号
例:执行 PS1="\u \# >" 结果:root 1 >
再执行 ls -la 结果:root 2 >
再执行 clear 结果:root 3 >
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
注:这个提示字符我试验了,可试改过后,即使是"root"用户,也是显示"$",不大明白是为什么。
这个我找到原因了,"\$"一定要写成 "\\$" 这样就可以了。
默认的PS1内容为: PS1='[\u@\h \W]\$ ' ,所以默认的提示符就是: [root@CentOS ~]#
如果想要永久的变更系统命令提示符,则要对 "/etc/bashrc" 进行修改,退出再进入,就不会恢复原来的了。
方法如下:执行 "cat /etc/bashrc | grep PS1",找到提示符变量设置的代码,然后执行 "vi /etc/bashrc"对前一命令查到的代码进行修改,并保存。
❼ Linux命令行提示符美化(PS1&PS2&PS3&PS4)
PS1是主提示符变量,也是默认提让信示符扰滑埋变量。默认值 [u@h W]$ ,显示用缓蚂户主机名称和工作目录。
基本上通过设置PS1来定义命令行提示字符即可,最常用的需求就是显示登录的用户名、主目录、主机名等。
默认的是:
PS1变量可以使用的参数值有如下:
PS2一般使用于命令行里较长命令的换行提示信息,比如:
❽ linux 怎么设置PS1
这个PS1
(是数字1不是字母i)是我们的
命令提示符.
每当我们按下[Enter]按键去执行某个命令的时候,最蚂戚后会再次出现提示字符时,则会主动的去读取这个变数的值了.
每个版本bash的SPI变量内的特殊符号也许会有闷皮陵一些差异.我们可以用man
bash去查询一下相关的变数.
下面列出几个常用的PS1变量内特殊符号的意义.
\d
:代表日期,格式为
weekday
month
date
\H
:完整的主机名
\h
:仅仅取得主机名称的第一个名字
\t
:显示时间,为24小时格式.例如:HH:MM:SS
\T
:显示时间,为12小时格式.
\A
:显示时间,为24小时格式,
HH:MM
\u
:目前使用者的帐号名称
\v
:BASH的版本信息
\w
:完整的目录工作名称.根目录会以~取代.
\W
:利用basename取得工作目录名称,所以仅仅会列出最后一个目录名
\#
:下达的第几个命令
\$
:提示字符,如果是管理员的则提示为#,否则就是$
根据自己当前Linux的提示内容,可以得出PS1的内容为:'\[\u@\h
\W\]\$'
这样就理解为什么我们的提示字符会是:[root@linux
~]#了吧.
我们也可以自己设置一个
设置以下命令:PS1='[\u@\h
\w
\A
#\#]\$
'
那么我们的命令提示符则为:[root@linux
/home
17:02
#85]#
注意,时间后面的是,我们当前执行命令的次数,没执行一次命令则会握颂加1