让linux命令提示符显示IP和颜色,避免操作多服务器时混乱

简介: 管理很多台服务器时,经常需要打开多个终端窗口进行操作,一不小心就可能操作失误,本来是要在别的服务器上执行的命令,结果在另一台上的执行了。 平时打开多个窗口,要养成给不同窗口分配不同背景色的习惯。 不过我们还可以做一些其它设置,来区别不同的机器。
环境:oracle linux 6.4

管理很多台服务器时,经常需要打开多个终端窗口进行操作,一不小心就可能操作失误,本来是要在别的服务器上执行的命令,结果在另一台上的执行了。
平时打开多个窗口,要养成给不同窗口分配不同背景色的习惯。
不过我们还可以做一些其它设置,来区别不同的机器。

82a9a6a6ccb76ec205baf9394867b39665a90b8c

上面就是所管理的一台服务器的提示符显示。可以很方便的知道当前窗口是哪台服务器。

只要在/etc/bashrc中添加以下语句即可实现:

IP=$(/sbin/ifconfig eth0|awk ‘/inet addr:/ {print $2}’|cut -c6-)
export PS1=”[\u@\h(\[\e[31m\]$IP\[\e[m\]) \W]\\$”

解释说明:
PS1是linux里头的一个默认的环境变量,用来设置命令提示符的环境变量。
PS1能配置并显示在提示符中的:

\d :代表日期,格式为weekday month date,例如:”Mon Aug 1″
\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中,把上面的代表符一个接一个的写进去就行了。
export PS1=”[\u@\h \W]\\$” 对应的就是 [用户名@主机名 路径]根据用户显示的符号(root用户显示#,普通用户显示$)

自己还可以写一些语句获取一些值,插入到这个提示符中。
比如就上面那个显示IP,让提示符中显示主机IP

IP=$(/sbin/ifconfig eth0|awk ‘/inet addr:/ {print $2}’|cut -c6-)
export PS1=”[\u@\h($IP) \W]\\$”
这样就会显示出来:[root@localhost(172.31.1.132) ~]#

根据需要选择让哪个用户实现这种效果,可以放到那个用户的.bash_profile中。
如果想让全部用户都用这种效果,就写入/etc/bashrc中。

现在再来讲颜色效果:

在PS1中设置字符序列颜色的格式为:
\[\e[F;Bm\] 其中“F”为字体颜色,编号30~37;“B”为背景色,编号40~47。
最后要加上\[\e[m\] 结束颜色设置。
颜色表

前景 背景 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色

除了颜色,还有其它的显示格式:

代码 意义
0     OFF
1      高亮显示
4     underline
7    反白显示
8    不可见

现在可以把颜色设置和PS1结合起来:
[\e[31m\] 就代表红色
[\e[31;47m\] 代表白底红字

[\e[1m\]  高亮显示

export PS1=”[\u@\h(\[\e[31m\]$IP\[\e[m\]) \W]\\$” 让IP显示红色
[root@localhost(172.31.1.132) ~]#

export PS1=”[\u@\h(\[\e[4m\]$IP\[\e[m\]) \W]\\$” 让IP显示下划线

[root@localhost(172.31.1.132) ~]#

再扩展一下:
export PS1=”]\#[\u@\h(\[\e[31m\]$IP\[\e[m\]) \W]\\$”
\#显示现在运行的是第几条命令
3[root@localhost(172.31.1.132) ~]#

附:颜色这个还可以放到脚本中用echo显示
#! /bin/bash

echo -e “\e[31;47m”
echo “白底黑字”
echo -e “\e[0m”

72356a007c1a0126f9516d35fa43a47fc6f03098

相关文章
|
6天前
|
监控 Linux Shell
|
8天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
24 5
Linux系统之安装Ward服务器监控工具
|
1天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
23 3
|
21天前
|
Web App开发 资源调度 网络协议
Linux系统之部署IP工具箱MyIP
【10月更文挑战第5天】使用Docker部署Radicale日历和联系人应用Linux系统之部署IP工具箱MyIP
59 1
Linux系统之部署IP工具箱MyIP
|
4天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
26天前
|
Ubuntu Linux Android开发
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
本文介绍了如何在Android设备上安装Termux和AnLinux,并通过这些工具运行Ubuntu系统和桌面环境。
95 2
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
|
6天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
80 2
|
17天前
|
监控 安全 Java
linux服务器上启动framework应用程序流程
【10月更文挑战第17天】在Linux服务器上启动Framework应用程序需经过准备工作、部署、启动、监控及访问五个步骤。首先确保服务器满足系统要求并安装依赖项;接着上传应用文件,编译构建,配置参数;然后通过脚本、命令行或系统服务启动应用;启动后检查日志,监控性能;最后确认访问地址,验证应用运行状态。具体操作应参照应用文档。
|
17天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
23 1
|
22天前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器