自定义Centos的终端的命令提示符

2024-04-16 02:28

本文主要是介绍自定义Centos的终端的命令提示符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

当我们使用终端登陆Centos时,就自动打开了ssh终端。这个终端的命令提示符一般是这样的:

这个以#号结束的一行字,就是我们说的命令提示符了。

这个是腾讯云的服务器的提示符,可以看到主机名是VM-4-7-centos。

但是这个看起来好难受,怎么办?

那就改一下呗。

分析

这个命令提示符是可以自定义的。目前默认显示的格式,是由系统的环境变量PS1定义的,配套的还有PS2。PS2是用于定义使用反斜杠转义后第二行开始显示的前缀。

我们可以打印出来这个变量的值:

echo $PS1

echo $PS2

结果:

[root@VM-4-7-centos ~]# echo $PS1 

[\u@\h \W]\$

[root@VM-4-7-centos ~]# echo $PS2

>

我们可以看到变量的值:[\u@\h \W]\$

那么这里面\u、\h、\W和\$是四个特殊的定义,为了可以自由定义格式,我们需要一起了解一下可用定义的清单。

\s :终端的名称

\d :显示【星期 月 日】的日期格式,如:"Mon Jun 26"

\H :完整的主机名

\h :仅取主机名在第一个小数点之前的名字

\t :显示时间,为 24 小时格式的【HH:MM:SS】

\T :显示时间,为 12 小时格式的【HH:MM:SS】

\A :显示时间,为 24 小时格式的【HH:MM】

\@ :显示时间,为 12 小时格式的【am/pm】样式

\u :目前使用者的账号名称

\v :BASH 的版本信息

\w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代

\W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名

\# :下达的第几个指令

\$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 

示例:

直接在命令行修改PS1的值即可生效。

不过,退出后再登陆又复原了。如何永久生效呢?

全局修改

默认在/etc/bashrc文件中定义了PS1变量的值,其中一行是这样的:

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

这里把PS1最终定义为"[\u@\h \W]\\$ ",也就是我们登陆进去的默认显示格式。

这一行的意思是,如果已经定义了像下面这样的格式:

-bash-4.2# 

这样的提示符,则替换为现在默认看到的格式。

这个是系统级的全局配置,修改之后,所有的登陆用户全部都会应用,修改需要谨慎哈!

修改方法很简单,直接vim打开这个文件,然后把后面的定义修改一下即可。出了反斜杠定义的几个变量外,其他字符都是直接显示的。

需要注意的是,$前必须是两个反斜杠,否则\$不生效。\$是一个特殊的变量,所以前面的反斜杠需要多加一个反斜杠。

单用户修改

因为前面是系统全局的,所以不管是登陆用户,还是应用程序,只要会加载/etc/bashrc的程序都会生效。如果你不想影响其他用户,那么就在自己的用户配置里改就行了。

在自己的目录下(cd ~),然后ls -al可以看到.bashrc这个文件。我们在这个文件最底下添加一个变量定义即可。

这样设置后,不需要退出,直接:

source .bashrc

立即就生效了。当然以后登陆系统,也会生效。这样也不影响其他人。

最终我这样定义:

PS1="[\u@\A \W]\\$ "

显示的效果如下:

[root@20:30 work]# 

这样我始终知道现在的时间,所在的目录以及当前的用户名。这样不是比默认的提示符爽太多了。当然你还可以加入更多好玩的文字,让提示变得更有温度。

当然啦,你还可以修改PS2来定义使用反斜杠来输入多行的提示哦,修改方法和PS1一样。

优先级

对单用户设置的优先级高于全局设置的,也就是说,如果你在.bashrc文件设置了PS1,尽管系统的配置文件/etc/bashrc也设置了,但是对于你这个用户来讲,你的用户的配置文件的优先级更高,直接可以无视系统的设置。但是如果你不设置,那就使用系统的设置了。

总结

命令提示符是我们和Linux打交道对多的东西,定义一个称心如何的提示符是不是非常爽。

来源: 自定义Centos的终端的命令提示符-七秒鱼笔记

这篇关于自定义Centos的终端的命令提示符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907574

相关文章

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

SpringBoot 自定义消息转换器使用详解

《SpringBoot自定义消息转换器使用详解》本文详细介绍了SpringBoot消息转换器的知识,并通过案例操作演示了如何进行自定义消息转换器的定制开发和使用,感兴趣的朋友一起看看吧... 目录一、前言二、SpringBoot 内容协商介绍2.1 什么是内容协商2.2 内容协商机制深入理解2.2.1 内容

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla