在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系统提供的图形界面配置程序会不同,但命令和配置文件都是相同的,越是底层的东西越具有通用性。所以,应当先学会手动配置和修改系统配置文件,等熟悉了以后,再用图形界面的工具修改,以便减少工作量。修改命令行提示符是最佳的训练项目。