微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

服务器shell显示IP和路径

服务器shell显示IP和绝对路径

vim ~/.bashrc

添加

exportPS1="[\u@`/sbin/ifconfigeth0|sed-nr's/.*inet(addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'`\w]\$"

即可,效果

[common@10.0.0.17 /home/tools]$

发现rm没经提示删除文件,还是慎重为好;添加下alias别名;

cd ~

vim ~/.bashrc

添加

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

alias cdcore='cd /data/common/coredump'

alias cdpatch='cd /data/patch/tmp'

alias cdcs='cd /data/patch/backup/cc'

alias cddb='cd /data/backup/oa'

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi


# Uncomment the following line if you don't like systemctl's auto-paging feature:

# export SYstemD_PAGER=


认情况下Terminal中的shell提示包括用户名、主机名、当前目录(绝对路径)和提示符。Linux系统终端提示的特征由系统环境变量PS1(是“promptstringone”的简写)定义。通过命令echo$PS1查看当前设置

echo $PS1

[\u@10.0.0.17 \w]$


PS1的值由一系列静态文本或\和转义字符序列组成,如:

$ PS1=”\u@\H \w$ ”

*Shell提示符中用到的转义字符

序列

显示

\a

ASCII格式编码的铃声.当遇到这个转义序列时,计算机会发出嗡嗡的响声。

\d

以日,月,天格式来表示当前日期。例如,MonMay26

\h

本地机的主机名,但不带末尾的域名。

\H

完整的主机名。

\j

运行在当前shell会话中的工作数。

\l

当前终端设备名。

\n

一个换行符。

\r

一个回车符。

\s

shell程序名。

\t

24小时制,hours:minutes:seconds的格式表示当前时间.

\T

12小时制表示当前时间。

\@

12小时制,AM/PM格式来表示当前时间,例如“10:51PM”

\A

hours:minutes格式表示当前时间。

\u

当前用户名

\v

shell程序的版本号,例如4.3

\V

4.3.11

\w

当前工作目录名。

\W

当前工作目录名的最后部分。

\!

当前命令的历史号。

\#

当前shell会话中的命令数。

\$

这会显示一个"$"字符,除非你拥有超级用户权限。在那种情况下,它会显示一个"#"字符。

\[

标志着一系列一个或多个非打印字符的开始。这被用来嵌入非打印的控制字符,这些字符以某种方式来操作终端仿真器,比方说移动光标或者是更改文本颜色\]

标志着非打印字符序列结束。

例如我现在想让提示显示格式为:“<用户名>@<当前目录名>$”,则

$ PS1=”\u@\W\$ ”

字体颜色是由一个ANSI转义编码来控制的。该控制编码会嵌入字符流中并发送给终端仿真器。但是,该控制编码不会被打印到屏幕上,而是会被终端解释为一个指令。正如我们在上表看到的字符序列,这个\[\]序列被用来封装这些非打印字符。一个ANSI转义编码以一个八进制033(这个编码是由退出按键产生的)开头,其后跟着一个可选的字符属性0:正常、1:黑体、4:下划线、5:闪烁、7:反向(前景色和背景色反转)),在之后是一个指令。

*用转义序列来设置文本颜色

序列

文本颜色

序列

文本颜色

\033[0;30m

黑色

\033[1;30m

深灰色

\033[0;31m

红色

\033[1;31m

浅红色

\033[0;32m

绿色

\033[1;32m

浅绿色

\033[0;33m

棕色

\033[1;33m

×××\033[0;34m

蓝色

\033[1;34m

浅蓝色

\033[0;35m

粉红

\033[1;35m

浅粉色

\033[0;36m

青色

\033[1;36m

浅青色\033[0;37m

浅灰色

\033[1;37m

白色

例如我们来设置一个LinuxMint认的绿色提示符,

$ PS1="\[\033[01;32m\]\u@\W\$\[\033[00m\] "

*背景颜色

除了字体颜色,我们也可以设置字体的背景颜色。同样是通过转义的控制编码来实现,下表是背景颜色的控制编码。

3:用转义序列来设置背景颜色

\033[0;40m

黑色

\033[1;44m

蓝色

\033[0;41m

红色

\033[1;45m

粉红

\033[0;42m

绿色

\033[1;46m

青色

\033[0;43m

棕色

\033[1;47m

浅灰色

*移动光标:

转义编码也可以用来定位光标。这些编码通常被用来,每次当提示符出现的时候,会在屏幕的不同位置,比如说上面一个角落,显示一个时钟或者其它一些信息。下表是一系列用来定位光标的转义编码:

光标移动转义序列

转义编码

行动

\033[l;cH

把光标移到第l行,第c列。

\033[nA

把光标向上移动n行。

\033[nB

把光标向下移动\033[nC

把光标向前移动n个字符。

\033[nD

把光标向后移动\033[2J

清空屏幕,把光标移到左上角(第零行,第零列)。

\033[K

清空从光标位置到当前行末的内容

\033[s

存储当前光标位置。

\033[u

唤醒之前存储的光标位置。

*保存提示

我们在当前打开的Terminal中设置环境变量PS1的值来自定义的终端提示符,只在当前Terminal中有效,打开新的Terminal就会采用系统认的提示符了。我们当让不希望每次打开Terminal的时候都要重新设置一次SP1环境变量。

~/.bashrc文件会在每次打开一个Terminal之前会被执行一次。于是,我们可以将设置环境变量SP1的命令放到该文件中,便不需要每次都手工再设置一次SP1的值。于是,我们在~/.bashrc配置文件末尾加入下面两行内容

PS1="\[\033[01;32m\]\u@\W\$\[\033[00m\] "

export PS1

用的虽少,还是有用,做个小笔记。

原文地址:https://www.jb51.cc/bash/389020.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐