Linux如何修改命令提示符

1.什么是命令提示符

  命令提示符是CLI(command-line interface,命令行界面)在人机交互的过程中提示用户可以进行命令输入的特殊符号,在Linux中普通用户的prompt为“$”,root用户的prompt为“#”。当然前面会有一些特殊的字符串。

  比如:

  [email protected]:~>        doge为当前用户的用户名,linux-uqf4为主机名,~表示当前目录为的dodge的主目录(或者说家目录)。

2.命令提示符有什么用呢?

  命令提示符可以给我们提示,通过修改,你可以在命令提示副里增加任何你想要得字符串,比如说时间、用户名、主机名、shell的版本当前工作目录。哪怕是一句座右铭也是可以的。

3.如何修改命令提示符呢?

  Linux系统的 bash shell 环境下通常是由 PS1 这个 bash内置变量决定主命令提示符的显示格式,我们只需要将这个变量设置成我们需要的格式就能获得我们想要的视觉效果。

  你可以通过ehco查看PS1变量

[email protected]:~> echo $PS1
\[$(ppwd)\]\[email protected]\h:\w>
[email protected]:~>

  首先,在命令提示符里显示hello world,

[email protected]:~> export PS1="hello world: "
hello world: ls
bin  public_html  公共  模板  视频  图片  文档  下载  音乐  桌面
hello world:

  这里你可以吧“双引号中的hello world:换成任何你想要得字符串。

  当然,在bash中定义了一些转义字符,可以用来输出特定的内容。

  
PS1 变量中我们可以使用以下一些定义好的内容,我可以使用普通字符串和这些字符的组合输出我们需要的内容:

\d      :"Wed Sep 06" 格式的日期
\t      :24小时制时间
\T      :12小时制时间
\@      :带有 am/pm 的 12 小时制时间
\e      :ASCII转义字符
\a      :ASCII 响铃字符(也可以键入 \007)
\r      :回车符
\n      :换行符
\h      :主机名
\H      :完整的主机名
\j      :在此 shell 中通过按 ^Z 挂起的进程数
\l      :此 shell 的终端设备名(如 "ttyp1")
\s      :shell 的名称(如 "bash")
\v      :bash 的版本(如 2.04)
\V      :Bash 版本(包括补丁级别)
\u      :用户名
\w      :当前工作目录(绝对路径)
\W      :当前工作目录的主文件名部分
\!      :当前命令在历史缓冲区的位置
\$      :如果当前用户的 UID 是 0(即root),则插入字符#;其他用户插入字符$
\\      :反斜杠
\[      :不可打印字符串的开头
\]      :不可打印字符串的结束
\nnn    :八进制转义字符

  你可以把上面的内容加入你的字符串中。

  比如,我想把刚才的“hello world:”变成“hello username:”

hello world: export PS1="hello \u: "
hello dodge: ls
bin  public_html  公共  模板  视频  图片  文档  下载  音乐  桌面
hello dodge:

  这是我的一个组合  export PS1=‘[\[email protected]\h \W]\$ ‘

  当然不仅仅是如何,命令行是可以高亮现实的,就是说,我们可以改变输出字体的颜色。

  比如说,如果输入如下命令

printf ‘\e[1;31mHello world\e[0m\n‘

  就会在命令行中输出以行红色的hello world

  我们来解析一些,首先拿出中间的hello world  ,再去掉最后的\n 转义换行。还剩下”\e[1;31m     \e[0m“

  前面的\e[1;31m 告诉命令行我要输出行红色的字,高亮显示。

   \e[0m告诉命令行,不用再输出红色的字了,该干吗干吗去吧!!

  由此可见命令行会把一些特殊的字符串序列理解成为字符输出的一些属性。

  下面我们来看一看如何,定义这些特殊的字符序列:

  

\[\e[属性;字体颜色m\]                                             #设置属性和字体颜色:
\[\033[属性;字体颜色m\]                                           #同上

\[\e[属性;字体颜色;背景色m\]                                     #设置属性和字体颜色和背景色
\[\033[属性;字体颜色;背景色m\]                                   #同上

\[\e[0m\]                               #结束字符颜色输出,恢复默认颜色设置

字符颜色和背景色定义如下

前景   背景    颜色
30     40     黑色
31     41     紅色
32     42     綠色
33     43     黃色
34     44     藍色
35     45     紫紅色
36     46     青藍色
37     47     白色

字符属性属性定义如下

代码     行为
0        OFF
1        高亮显示
4        underline
5        闪烁
7        反白显示
8        不可见

这样我就可以通过如下命令让我的命令提示符高亮显示出来。

export PS1=‘[\[\e[1;37m\]\[email protected]\h \W\[\e[0m\]]\$ ‘

如果每次运行命令行都要输入这样一天命令,显得特别不人性化。所以我们可以在系统登陆的时候让他自动加载不久行了么。

linux启动时,先加载/etc/profile   -->   /etc/profile  -->   /etc/profile.d/*.sh   -->   ~/.bash_profile   -->   ~/.bashrc   ->   [/etc/bashrc]

所以我们可以把命令放在~/.bashrc 里,这样就可以了。

时间: 2024-10-13 22:28:21

Linux如何修改命令提示符的相关文章

linux中修改PATH环境变量

如何修改PATH环境变量 1.1 什么是环境变量 1.linux里面哪里都可以使用,内容一般都不会发生变化 2.大写 3.PATH LANG 4.修改环境变量的时候前面要加上export 1.2 PATH含义 作用 PATH变量里面存放的是linux下面命令的位置. 1.3 linux下面运行命令的过程 ####1)输入 ls ####2) ls是否在PATH这些路径/目录中 ####3)如果有就执行 解析 ####4)如果没有则提示 command not found 1.4 模拟环境 ##1

linux下修改MySQL root密码后数据库消失

Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失.有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,这个时候该怎么处理呢? 可以用下面的办法解决: 1.修改mysql数据库目录配置文件:my.cnf(或my.ini) [mysqld]下添加: skip-grant-tables 2.重启mysql服务,然后用mysql 登录. 3.进入后,可以看到,mysql数据库已呈现,然后修改密码: upd

Linux一次性修改电脑的文件的为读写格式

第一步: 编辑一下文本,大家可以对脚本按照自己的要求更改: #!/bin/bash #chmod all text file to read and write; find ~ -name "*.doc*" -exec chmod 644 -R {} \; find ~ -name "*.xls*" -exec chmod 644 -R {} \; find ~ -name "*.ppt*" -exec chmod 644 -R {} \; fi

linux下修改文件的用户组chgrp和文件所有者chown

1. linux下修改文件用户组 chgrp: change group的简写,修改文件所属的用户组. chgrp users test.log 修改后查看 ls -l -rwxrwx--- 1 work users 0 Jun 8 15:46 test.log 如果要修改该目录下所有文件和目录,使用-R参数. chgrp -R users test 要被改变的group名,必须在 /etc/group 文件中. /etc/group文件记录系统中所有的组名称. 2. linux下修改文件所有者

Linux创建修改删除用户和组

Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先从用户信息开始分析,可以通过查询/etc/password文件,每一行代表一个用户信息 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin m

Linux下修改图片格式

Linux下修改图片格式 在终端上安装imagemagick sudo apt-get install imagemagick cd到相应的图片所在目录 #把 .png 转到 .jpg convert *.png *.jpg rm -r *.png 上面的方法产生的图片,可能在window上是不能打开的.下面用matlab写了个脚本,可以保证在两个平台上都能用. imagePath='sequences/SegTrack/birdfall2/'; files=dir([imagePath,'*.

Linux下修改Oracle监听地址

如果你的服务器换了ip怎么办? 如果你的服务器换了名字怎么办? 以前的小伙伴怎么办? 以前的老客户怎么办? 没关系,简单教你修改监听地址,老朋友随便找! 想要修改监听地址首先要找到两个文件,确定两样东西! 第一 你的主机名字? 第二 你的IP地址? 第三 你的listener.ora在哪里? 第四 你的tnsnames.ora在哪里? 原来的文件监听的是localhost,这个名字在/etc/hosts中会被映射成Ip地址127.0.0.1 lisenter.ora 目录在 /opt/oracl

如何在 Debian GNU/Linux 添加修改软件源

- 转载请注明出处 http://www.zzzke.cn/ 或超链接至本文 -- 我们在 Debian GNU/Linux 中有时软件源的网络速度慢,在使用 apt 安装源中的软件时总是因源服务器负荷大而时间很长,所以想换个软件源或添加软件源又不知道怎么做,现在就给您讲一下 Debian GNU/Linux 中软件源的修改方法.步骤很简单,只要修改在 /etc/apt/sources.list 文件中的软件源地址就可以了,但要记得这个文件不是谁都能修改的,要有系统管理员权限才行. 首先要以 系

linux中修改ssh端口和禁止root远程登陆设置

linux中修改ssh端口和禁止root远程登陆设置 查看下系统版本 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 修改配置文件 linux修改端口22vim /etc/ssh/sshd_config找到#port 22将前面的#去掉,然后修改端口 port 1234重启服务就OK了service sshd restart或/etc/init.d/ssh restart为增强安全先增加一个普通权