LOADING

更改Ubuntu/Linux终端命令行提示符颜色

运维2个月前发布 杨帆舵手
14 0 0
广告也精彩
欢迎指数:
参与人数:

Ubuntu或其他Linux系统中,我们可以通过自定义终端命令行提示符(Prompt)来改变其显示的颜色和内容。命令行提示符通常显示的是当前用户、主机名、工作目录等信息,通过修改相应的配置文件,我们可以灵活定制提示符的颜色和格式,使得终端更符合个人使用习惯。

一、默认提示符解析

在Bash Shell中,命令行提示符通过环境变量 PS1进行配置。默认的提示符通常是这样的:

user@hostname:~$

这个格式告诉你当前用户 user、所在主机 hostname,以及当前工作目录。我们可以通过修改 PS1变量来自定义这个提示符,加入颜色和格式信息。

⚙️ 默认提示符解析图

graph TD;
A[user] --> B[@hostname];
B --> C[工作目录];
C --> D[$];

二、修改命令行提示符颜色

2.1 修改 PS1变量

要更改终端的提示符,我们可以通过修改 PS1变量来实现。以下是一些常用的颜色代码: 颜色名称 颜色代码
黑色 [e[0;30m]
红色 [e[0;31m]
绿色 [e[0;32m]
黄色 [e[0;33m]
蓝色 [e[0;34m]
紫色 [e[0;35m]
青色 [e[0;36m]
白色 [e[0;37m]

示例1:将提示符颜色修改为绿色

你可以直接在命令行中测试:

PS1='[e[0;32m]u@h:w$ [e[m]'

代码解释:

  • [e[0;32m]:设置提示符的颜色为绿色。
  • u:代表当前用户。
  • h:代表主机名。
  • w:代表当前工作目录。
  • $:代表普通用户为 $,超级用户为 #
  • [e[m]:重置颜色,确保后续命令不会受到颜色影响。

    2.2 修改配置文件

    为了永久保存这些更改,我们可以将其写入用户的 ~/.bashrc文件中。打开 ~/.bashrc并找到类似于 PS1=的行,修改或添加如下内容:

    nano ~/.bashrc

    然后在文件末尾添加如下代码:

    PS1='[e[0;32m]u@h:[e[0;34m]w$ [e[m]'

    示例2:自定义提示符颜色(用户部分为绿色,目录部分为蓝色)

    PS1='[e[0;32m]u@h:[e[0;34m]w$ [e[m]'

    2.3 应用修改

    保存并关闭 ~/.bashrc文件后,运行以下命令使更改生效:

    source ~/.bashrc

    三、进阶自定义

    3.1 增加时间显示

    如果想要在提示符中显示当前时间,可以使用 tT

    PS1='[e[0;33m]t [e[0;32m]u@h:[e[0;34m]w$ [e[m]'

    代码解释:

  • t:显示24小时制的时间格式(HH:MM:SS)。
  • T:显示12小时制的时间格式。

    3.2 显示Git分支信息

    对于开发人员来说,查看当前Git分支信息是很常见的需求。可以通过安装 git插件来实现这个功能:
    首先,在 ~/.bashrc中添加以下内容:

    parse_git_branch() {
    git branch 2>/dev/null | grep '^*' | colrm 1 2
    }
    PS1='[e[0;32m]u@h:[e[0;34m]w[e[0;31m] $(parse_git_branch)[e[m]$ '

    代码解释:

  • parse_git_branch():通过Shell函数提取当前Git分支名称。
  • $(parse_git_branch):将Git分支显示在提示符中,分支名称颜色为红色。

    ⚙️ 自定义提示符展示

    graph LR;
    A[时间 t] --> B[用户名 u];
    B --> C[主机名 h];
    C --> D[工作目录 w];
    D --> E[Git分支信息];

    四、常用提示符定制示例

    4.1 彩色提示符

    将不同的元素设置为不同颜色,以增强可读性。

    PS1='[e[0;35m]u@[e[0;36m]h:[e[0;33m]w$ [e[m]'
  • 用户名为紫色,主机名为青色,工作目录为黄色

    4.2 动态显示用户和目录

    当以普通用户身份登录时,显示为绿色,当以超级用户登录时,显示为红色。

    if [ "$UID" -eq 0 ]; then
    PS1='[e[0;31m]u@h:w$ [e[m]'  # 超级用户为红色
    else
    PS1='[e[0;32m]u@h:w$ [e[m]'  # 普通用户为绿色
    fi

    代码解释:

  • if [ "$UID" -eq 0 ]; then:判断当前用户是否为超级用户(UID为0),如果是,则设置提示符为红色。

    4.3 简化提示符

    有时候我们只需要一个简洁的提示符,只显示当前目录。

    PS1='[e[0;34m]w $ [e[m]'
  • 只显示当前目录,使用蓝色表示。

    五、提示符颜色代码参考

    以下是颜色代码的完整列表,帮助你在配置中进行选择: 颜色 前景色代码 背景色代码
    黑色 [e[0;30m] [e[40m]
    红色 [e[0;31m] [e[41m]
    绿色 [e[0;32m] [e[42m]
    黄色 [e[0;33m] [e[43m]
    蓝色 [e[0;34m] [e[44m]
    紫色 [e[0;35m] [e[45m]
    青色 [e[0;36m] [e[46m]
    白色 [e[0;37m] [e[47m]

    六、总结

    通过修改 PS1变量和使用不同的颜色代码,Ubuntu/Linux用户可以根据自己的需求轻松定制终端提示符。除了常见的用户名、主机名、当前目录,还可以加入时间、Git分支信息等动态元素,使得提示符更加直观和实用。

    ⚙️ 自定义提示符流程

    graph TD;
    A[选择提示符元素] --> B[选择颜色代码];
    B --> C[修改PS1变量];
    C --> D[编辑.bashrc文件保存修改];
    D --> E[使用source命令生效修改];

    通过这些自定义设置,你可以让终端提示符更加符合个人需求,提高工作效率。

此站内容质量评分请点击星号为它评分!

您的每一个评价对我们都很重要

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

© 版权声明
广告也精彩

相关文章

广告也精彩

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...