自定义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的终端的命令提示符-七秒鱼笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620740.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考华为数通方向的HCIE认证经验分享

大家好,我是来自安阳工学院20级网络工程的楚同学。在2023年12月6日,我顺利通过了华为数通方向的HCIE认证,在此,我想分享一些备考心得给正在努力备考的小伙伴们。 关于考证的契机 在大一上学期,我们的课程安排在实验…

如何在树莓派安装Nginx并实现固定公网域名访问本地静态站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…

ABAP MESSAGE 常用的类型

类型文本描述A终止处理终止,用户必须重启事务X退出与消息类型A 类似,但带有程序崩溃 MESSAGE_TYPE_XE错误处理受到干扰,用户必须修正输入条目,左下角提示!W警告处理受到干扰,用户可以修正输入条目,左下角提示!I信息处理受到干扰&a…

STM32存储左右互搏 SDIO总线读写SD/MicroSD/TF卡

STM32存储左右互搏 SDIO总线读写SD/MicroSD/TF卡 SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协…

fiddler常用操作汇总

1、过滤 2、查看数据包内容 3、弱网测试 弱网测试其实就是提前设置好一个值,在这个环境下进行测试就行了。 (1)进入定制规则页面: (2) 点击CtrlF调起搜索,在Find what 中输入300进行查找,更改上行、下行网…

【MATLAB源码-第43期】基于matlab的turbo码误码率仿真比较不同迭代次数,采用logmap/sova算法。

操作环境: MATLAB 2022a 1、算法描述 Turbo码是一种前向纠错码 (Forward Error Correction, FEC),在 1993 年由法国的两位研究员 Claude Berrou 和 Alain Glavieux 提出。这种编码技术以其接近 Shannon 极限的高性能而受到广泛关注。以下是关于 Turbo…

软考125-上午题-【软件工程】-传统软件的测试策略

一、传统软件的测试策略 有效的软件测试实际上分为4步进行,即:单元测试、集成测试、确认测试、系统测试。 1-1、单元测试(模块测试) 单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。 单元测试侧重…

C语言文件操作详解

1. 什么是文件: 文件是计算机中存储数据的一种方式,它可以包含文本、图像、音频、视频等各种形式的信息。在计算机系统中,文件被组织成一个个独立的单元,可以通过文件名来标识和访问。文件可以存储在计算机的硬盘、固态硬盘、光盘…

初学python记录:力扣706. 设计哈希映射

题目: 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中&#x…

使用IT-Tools+Cpolar在Windows搭建自己的IT工具箱并实现远程在线使用

文章目录 1. 使用Docker本地部署it-tools2. 本地访问it-tools3. 安装cpolar内网穿透4. 固定it-tools公网地址 本篇文章将介绍如何在Windows上使用Docker本地部署IT- Tools,并且同样可以结合cpolar实现公网访问。 在前一篇文章中我们讲解了如何在Linux中使用Docker搭…

unity——Button组件单击双击长按功能

1.实现单击、双击、长按功能 using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; public class ButtonControl_Click_Press_Double : MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler {publi…

【InternLM 实战营第二期笔记01】书生·浦语大模型全链路开源体系+InternLM2技术报告

本次课程链接在GitHub上:InternLM/Tutorial at camp2 (github.com) 第一次课程录播链接:书生浦语大模型全链路开源体系_哔哩哔哩_bilibili InternLM2技术报告:arxiv.org/pdf/2403.17297.pdf 一、书生浦语大模型全链路开源体系笔记 Intern…