让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

相关文章
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
2209 21
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1169 13
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
779 24
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
977 28
|
网络协议 API 网络安全
永久独立IP服务器解析与选择指南
关于“永久独立IP服务器”,这个概念需要从技术和商业两个层面来理解,小编为您整理发布。
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
671 28
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3956 0
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
596 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤