自定义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.mzph.cn/bicheng/178.shtml

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

相关文章

MYSQL一条SQL语句的底层执行流程

👏作者简介:大家好,我是小周同志,25届双非校招生Java选手,很高兴认识大家 📕学习出处:本文是学自小林coding (xiaolincoding.com) 网站的MYSQL图解篇 🔥如果感觉博主的文章还不错的…

字符串算法习题分析

目录 1 [POI2006]OKR-Periods of Words2 同构字符串3 Camp Schedule 1 [POI2006]OKR-Periods of Words P3435 [POI2006] OKR-Periods of Words - 洛谷 题目描述 定义 Q Q Q 为 A A A 的周期,当且仅当 Q Q Q 是 A A A 的严格前缀,且 A A A 是 Q Q …

STL库 —— priority_queue 的编写

目录 一、 优先级队列的介绍 二、优先级队列的使用 2.1 建大堆 less 2.2 建小堆 greater 2.3 详解 greater 与 less 三、 priority_queue 的模拟实现 3.1 编写框架 3.2 编写简单函数 3.2 进堆 向上调整 3.3 出堆 向下调整 四、完整代码 一、 优先级队列的介绍 1.…

web轮播图

思路: 例如:有5张轮播的图片,每张图片的宽度为1024px、高度为512px.那么轮播的窗口大小就应该为一张图片的尺寸,即为:1024512。之后将这5张图片0px水平相接组成一张宽度为:5120px,高度依然为:5…

守望先锋2怎么在steam上玩 守望先锋归来steam下载安装

守望先锋2怎么在steam上玩 守望先锋归来steam下载安装 《守望先锋2》是知名游戏开发商暴雪娱乐开发的团队射击游戏。与第一部相比,守望先锋2加入了更多元素和新特性。游戏设定在未来的世界,玩家可以选择不同的英雄(heroes)加入战…

python聊天室

python聊天室 文章目录 python聊天室chat_serverchat_client使用方式1.局域网聊天2.公网聊天 下面是一个简单的示例,包含了chat_client.py和chat_server.py的代码。 chat_server chat_server.py监听指定的端口,并接收来自客户端的消息,并将消…

35岁+技术人的困境与选择

前言 最近一些大厂的持续裁员事件,让职场年龄焦虑的话题又火热起来了。职场的年龄焦虑是客观存在的事实,这是市场与资本相互作用的必然结果。资本在运作的过程中,肯定是要逐利的,最终也是要趋向于利润最大化的。 因此&#xff0…

WdatePicker异常,无法弹出日期选择框

官网:My97日期控件官方网站 My97 DatePickerhttp://www.my97.net/ 可能使版本太老了,可以更新一下,然后根据官方的文件进行使用。 我的异常是因为在网上找的包里面缺少文件,去官网拉了一下最新的就行了。

AR地图导览小程序是怎么开发出来的?

在移动互联网时代,AR技术的发展为地图导览提供了全新的可能性。AR地图导览小程序结合了虚拟现实技术和地图导航功能,为用户提供了更加沉浸式、直观的导览体验。本文将从专业性和思考深度两个方面,探讨AR地图导览小程序的开发方案。 编辑搜图 …

数据结构之排序了如指掌(二)

目录 题外话 正题 选择排序 选择排序思路 选择排序代码详解 选择排序复杂度 双向选择排序 双向选择排序思路 双向选择排序代码详解 堆排序 堆排序思路 堆排序代码详解 堆排序复杂度 冒泡排序 冒泡排序思路 冒泡排序代码详解 冒泡排序复杂度 小结 题外话 今天…

变配电场所智能综合监控系统无人化与自动化升级改造

一 项目背景 国家电力建设飞速发展,为了提高管理水平,智能化建设迫在眉睫。变配电场所作为电网中的核心单元,数量巨大,是智能化建设的中坚部分。但由于变配电场所分布的地理位置过于分散,且配电网的自动化水平有待提高,单纯依靠人力来对变配电场所进行巡视,不仅增加…

python 文件输入输出

python 文件输入输出 一、输入输出1. 输出格式美化2. 旧式字符串格式化3. 读取键盘输入4. 读和写文件5. 文件对象的方法6. pickle 模块 二、文件操作1. File(文件) 方法2. mode 参数有:3. file 对象 三、 OS 文件操作1. OS 文件/目录方法 四、代码概览(输…

【canvas】canvas综合运用:心形图案

#简言 利用canvas画出心形图案。 心形 心形图案可以两个椭圆相交组合&#xff0c;也可以直接画路径实现。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conte…

深入了解CSS 元素尺寸单位:像素、百分比、em、rem 和 viewport 单位

你好&#xff0c;我是小白Coding日志&#xff0c;一个热爱技术的程序员。在这里&#xff0c;我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客&#xff0c;一起在技术的世界里探索前行吧&#xff01; 在前端开发中&am…

labelimg安装和使用(解决闪退问题)

&#x1f308;个人主页&#xff1a;Rookie Maker &#x1f525; 系列专栏&#xff1a;计算机视觉 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到我的代码世界~ &#x1f601; 喜…

图与图搜索算法

图搜索算法是一个非常重要的概念&#xff0c;它是计算机科学中图论和算法设计的基础部分。在开始讨论图搜索算法之前&#xff0c;我们需要先理解什么是图以及图的基本结构。 什么是图&#xff1f; 图&#xff08;Graph&#xff09;是一种非线性数据结构&#xff0c;它由一组点…

C 错误处理

C 语言不提供对错误处理的直接支持&#xff0c;但是作为一种系统编程语言&#xff0c;它以返回值的形式允许您访问底层数据。在发生错误时&#xff0c;大多数的 C 或 UNIX 函数调用返回 1 或 NULL&#xff0c;同时会设置一个错误代码 errno&#xff0c;该错误代码是全局变量&am…

Redis集群和哨兵

Redis集群和哨兵是Redis系统中的重要组件&#xff0c;它们在保障数据可靠性、扩展性和高可用性方面发挥着关键作用。 Redis集群主要解决了单一Redis实例在存储和性能上的限制。通过将数据分散到多个Redis节点上&#xff0c;集群能够实现数据的水平扩展&#xff0c;从而支持更大…

点云的投影------PCL

点云的投影 /// <summary> /// 参数化模型投影点云 /// </summary> /// <param name"cloud">点云</param> /// <param name"x">投影平面x面的系数</param> /// <param name"y"></param> /// &…

Python下利用Selenium获取动态页面数据

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…