Linux CentOS7修改命令行提示符

在CentOS操作系统中,命令和文件是我们与计算机进行交互的重要方式之一。有时候我们可能需要对某些命令、变量或文件进行修改,以满足特定的需求或提高工作效率。

本人在文章《Linux CentOS7命令及命令行》中对命令行提示符的修改作了初步介绍,可作参考。

本文将详细介绍CentOS中如何修改修改命令行提示符及其使用方法。

一、对linux中修改的认识

为了某种需要,可能要对配置文件进行修改,如中英文互换、环境变量的改变、命令行与图形化界面的切换等。这时就会进行修改操作。

一般地讲,我们能接触到修改,包括如下几方面。

1.修改分类

a.按修改效果分

        临时修改

        永久修改

b.按修改方式分

        图形化工具修改

        命令行修改

        配置文件编辑

c.按修改对象分

        变量修改  如修改LANG变量、PATH变量等

        文件修改 如/etc/profile、~/.bashrc等

d.按日常操作分

        中英文修改

        启动方式修改

        输入法修改

        时区修改

我们重点关注linux中的临时修改与永久修改。下面分别讨论。

在Linux系统中,一切皆文件。系统运行时各项环境、各类参数等,都是以文件形式存储在磁盘中。在开机加载系统时,会把系统需要的所有文件装载到内存中,并运行起来。在系统启动以后再修改系统的配置,根据是否保存到磁盘中,区分为“临时修改”和“永久修改”。

2.临时修改

临时修改指的是直接修改在内存中所运行的系统配置。临时修改并没有把修改后的配置保存到磁盘上的配置文件中,在系统关机后,内存中的数据会丢失,在下次开机时,内核直接加载原来的配置文件,在上次开机时所做的修改则会失效,因此,临时修改是一次性的。

如临时更改主机名。

3.永久修改

永久修改指的是直接修改其配置文件,即使系统关机后,内存中的数据丢失,也对修改不造成影响,在下次开机时,系统会重新加载相关的配置文件并设置,因此可以达到永久生效的目的。但是,由于永久生效的修改方法是直接修改其磁盘中的相关配置文件,如果在修改前系统已经启动了,就意味着系统已经生效了原有的配置,就不会再自动去加载修改后的配置文件了。

所以,修改磁盘中的配置文件系统并不会立即生效,往往需要通过重新加载才能够生效,可使用重新加载的命令使配置生效,或重新启动系统,使系统在启动时达到重新加载配置文件。

如果修改的是一个服务的配置文件,可以直接重启服务以重新加载配置文件。

4.修改操作后常用命令

a.重新启动服务器(主机)

        如:修改中英文环境

b.重新加载文件

source (或.) ——重载命令

在~/.bashrc文件里写上source /etc/profile

意味着Linux Centos7 每次开机都要重载profile文件。

修改命令行提示符,需要source命令加载文件

c.重新启动服务

修改网卡信息,需要重启网卡服务

操作服务的常用命令:

        systemctl restart 服务名

常用的服务有firewalld、network等

命令中常用选项及功能:

        restart  重启

        start    开始

        stop     停止

        status   状态

        disable  开机不自启动

        enable   开机自启动

d.重新登录

如修改主机名,退出当前bash,重新登录即可。

二、修改命令行提示符

1.修改文件

影响命令行提示符的文件有多个,如系统级的设置存储在/etc/profile、/etc/bashrc及目录/etc/profile.d下的文件中*.sh文件中。

在用户的HOME目录下有这样几个文件:

        .bash_history:记录了您以前输入的命令

        .bash_logout:当您退出 shell 时,要执行的命令

        .bash_profile:当您登入 shell 时,要执行的命令

        .bashrc:每次打开新的 shell 时,要执行的命令

这些文件是每一位用户的设置。

当系统级与用户级的设置发生冲突时,将采用用户的设置。

当我们希望修改centos7中命令行提示符时,首先想到是修改哪个文件比较好?

我们建议:创建自己的个性化命令行提示符,修改自己家目录下的环境配置文件~/.bashrc

在末尾添加一行:

        export PS1="因代码显示原因,不能正确显示。可参考下图所示"

使用source ~/.bashrc或. ~/.bashrc生效

2.PS1的常用参数以及含义

命令行提示符特殊符号代表的意义:

        /u:表示user当前用户的账号名称

        /h:表示hostname显示当前主机名

        /W:表示working只显示当前路径最后一个目录

        /$:提示字符,如果是root时,提示符为:#,普通用户则为:$

        /d:表示date代表日期

        /H:完整的主机名称。

        /t:显示时间为24小时格式,如:HH:MM:SS

        /T:显示时间为12小时格式

        /A:显示时间为24小时格式:HH:MM

        /v:BASH的版本信息

        /w:完整的工作目录名称。家目录会以~代替

        /#:显示命令执行的次数

        /$?:显示上一条命令执行对错的代码:0正确执行;1 无效选项;2 语法错误;127找不到命令;130终止命令;255  命令参数不够

3.PS1的颜色设置参数以及含义

当然还可以配置颜色,首先来看ascii字符颜色表

前景

背景

颜色

30

40

黑色

31

41

紅色

32

42

綠色

33

43

黃色

34

44

藍色

35

45

紫紅色

36

46

青藍色

37

47

白色

4.修改命令行提示符基本原则

修改全局变量影响所有用户

修改局部变量,可打造个人设置风格

修改命令行提示符,可在家目录下,~/.bashrc

        ~/.bash_profilerc

终端提示符可以提示命令执行状态返回值,让我们在工作的时候可以更直观的看到上一条命令的状态返回值。

root修改家目录下的bashrc隐藏文件:

修改后效果

普通用户修改命令行提示符

主要是修改颜色及添加上一条命令执行效果\$?

当前命令执行的次数\#

5.PS2

Linux提示符分为第一提示符和第二提示符两种。

第一提示符又称为主提示符,常见于命令行的左侧。

第二提示符又称为续行符,表示第一行内容没有输入完毕,可以在下一行继续输入。

echo $PS2 # 输出第二提示符

>

小结

修改文件或命令技巧:一定要深入系统,读脚本,学会用命令和手工修改系统配置文件。这样对系统才会有透彻的了解,整天用图形界面的工具是不能帮助你对系统有较为透彻深入的了解的,不同的linux系统提供的图形界面配置程序会不同,但命令和配置文件都是相同的,越是底层的东西越具有通用性。所以,应当先学会手动配置和修改系统配置文件,等熟悉了以后,再用图形界面的工具修改,以便减少工作量。修改命令行提示符是最佳的训练项目。

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

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

相关文章

微服务08-认识和使用SpringAMQP

1.AMQP的认识 1.1 介绍 AMQP是什么?看完你就知道了_hello_读书就是赚钱的博客-CSDN博客_amqp 好处: 什么connection:消息队列的连接、channel:服务发送接收消息的通道、Queue:消息队列——>这些你都不需要自己编写…

【计算机视觉 | 目标检测】干货:目标检测常见算法介绍合集(二)

文章目录 十六、EfficientDet十七、Deformable DETR十八、YOLOX十九、Sparse R-CNN二十、Contour Proposal Network二十一、VarifocalNet二十二、Libra R-CNN二十三、Stand-Alone Self Attention二十四、ThunderNet二十五、Hierarchical Transferability Calibration Network二…

【杂记】git管理工具的相关应用

这里记录一些用git管理工具进行开发的命令,便于自己查看,我认为下面两篇博客写的很详细,但是为了自己方便查看,所以自己写了一些命令供自己进一步理解。gitee相对git来说更方便一些(毕竟国内的不用担心墙)&…

UMA 2 - Unity Multipurpose Avatar☀️六.Advanced Occlusion高级遮挡功能解决皮肤服饰穿模

文章目录 🟥 本节功能效果展示🟧 基础项目配置🟨 本节项目配置🟩 配置MeshHideAsset1️⃣ 创建MeshHideAsset2️⃣ 配置SlotDataAsset3️⃣ 配置遮挡信息🟦 将 MeshHideAsset 配置到 Recipe🟥 本节功能效果展示 未遮挡前的穿模问题: 遮挡后效果:

SpringMVC_拦截器

4.拦截器 4.1拦截器概述 概述:一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行实际开发中,静态资源(HTML/CSS)不需要交给框架处理,需要拦截的是动态资源 4.2图示 图示 4.3案例实现 …

闭包的理解

1.什么是闭包? 变量的私有化。一个函数内的变量,随着函数的执行完毕,对于的变量也会随着销毁,闭包可以让变量在函数执行完毕之后不必销毁,通常将这个变量通过匿名函数的形式return出去,这个变量只能被访问,不能被修改。 2.证明变量执行玩被销毁 (1)函数体没有被包…

朋友圈大佬都去读研了,这份备考书单我码住了

作者简介: 辭七七,目前大二,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖&#x1f…

day3_C++

day3_C 思维导图用C的类完成数据结构 栈的相关操作用C的类完成数据结构 循环队列的相关操作 思维导图 用C的类完成数据结构 栈的相关操作 stack.h #ifndef STACK_H #define STACK_H#include <iostream> #include <cstring>using namespace std;typedef int datat…

【数据结构】堆的创建

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

jmeter采集ELK平台海量业务日志( 采用Scroll)

由于性能测试需要&#xff0c;需采集某业务系统海量日志&#xff08;百万以上&#xff09;来使用。但Elasticsearch的结果分页size单次最大为10000&#xff08;运维同事为保证ES安全&#xff09;。为了能够快速采集ELK平台业务日志&#xff0c;可以使用以下2种方式采集&#xf…

spring spring-boot spring-cloud spring-cloud-alibaba之间版本对应关系

spring 版本与 jdk 的对应关系 https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions 从 spring 6.0 开始使用 jdk 17 进行编译 对应的相关 servlet 容器&#xff08;tomcat、undertow、jetty等&#xff09;的 servlet 规范转移到 eclipse&…

线程安全问题(3)--- wait(),notify()

前言 在多线程的环境下&#xff0c;我们常常要协调多个线程之间的执行顺序&#xff0c;而为了实现这一点&#xff0c;Java提供了一些方法来帮助我们完成这一点。 一&#xff0c;wait() 作用&#xff1a; 使当前线程进入等待状态 释放当前的锁 (即该方法必须和 synchrnized 关键…