Linux学习:bash的配置。终端颜色显示。

lvan_linux

1:bash是我们在登录系统是执行的shell程序,我们适当配置属于自己的bash可以方便我们和Linux系统的交互。是我自己更改的bash配置。

通常的情况下、在我们的系统会保存备份bash配置,在/etc/skel/.bashrc这个位置。我便借助这个位置保存的备份更改了自己的终端颜色显示。如下图所示,是我很喜欢的显示。
如果各位需要自己的显示内容,完全可以自己配置属于自己的bash。下面我将我的配置文件粘贴到这里。

file


在这里我重点说一下终端颜色显示
要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:#set,即可在输出中找到关于PS1的定义如下:

    PS1的定义中个常用的参数的含义如下:
    \d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"   
    \H :#完整的主机名称   
    \h :#仅取主机的第一个名字  
    \t :#显示时间为24小时格式,如:HH:MM:SS   
    \T :#显示时间为12小时格式   
    \A :#显示时间为24小时格式:HH:MM   
    \u :#当前用户的账号名称   
    \v :#BASH的版本信息   
    \w :#完整的工作目录名称   
    \W :#利用basename取得工作目录名称,所以只会列出最后一个目录   
    \# :#下达的第几个命令   
    \$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$  

    由此,我们可知linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]#

    2.颜色的设置
 F        B
 30      40      黑色   
 31      41      红色   
 32      42      绿色   
 33      43      黄色   
 34      44      蓝色   
 35      45      紫红色   
 36      46      青蓝色   
 37      47      白色  

    根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。
    3.修改.bashrc文件

    通过上面的设置只能改变当前终端的命令行格式,关闭这个终端,在重新打开的一个终端中命令行格式又会恢复到默认的形式。想要永久性的改变终端命令行格式,需要修改.bashrc文件。
    在.bashrc文件中对PS1的内容进行更改就可以做到终端显示了
    PS1='${debian_chroot:+($debian_chroot)}\[\033[36;40m\]\u \[\033[1;31;40m\]\W \[\033[1;35;40m\]\$ > \[\033[1;0;0m\]:这是我的配置,希望你能够喜欢。
    同时,这个文件默认在~/.bashrc,打开进行复制粘贴就可以。最后将一张完整的终端图像贴到这里。希望你能够喜欢我这份bash配置。

file

    
    # ~/.bashrc: executed by bash(1) for non-login shells.
    # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
    # for examples

    # If not running interactively, don't do anything
    case $- in
            *i*) ;;
                *) return;;
    esac

    # don't put duplicate lines or lines starting with space in the history.
    # See bash(1) for more options
    HISTCONTROL=ignoreboth

    # append to the history file, don't overwrite it
    shopt -s histappend

    # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
    HISTSIZE=1000
    HISTFILESIZE=2000

    # check the window size after each command and, if necessary,
    # update the values of LINES and COLUMNS.
    shopt -s checkwinsize

    # If set, the pattern "**" used in a pathname expansion context will
    # match all files and zero or more directories and subdirectories.
    #shopt -s globstar

    # make less more friendly for non-text input files, see lesspipe(1)
    [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

    # set variable identifying the chroot you work in (used in the prompt below)
    if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
            debian_chroot=$(cat /etc/debian_chroot)
    fi

    # set a fancy prompt (non-color, unless we know we "want" color)
    case "$TERM" in
            xterm-color|*-256color) color_prompt=yes;;
    esac


    if [ -n "$force_color_prompt" ]; then
            if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
            color_prompt=yes
                else
            color_prompt=
                fi
        fi

        if [ "$color_prompt" = yes ]; then
                PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
        else
                **PS1='${debian_chroot:+($debian_chroot)}\[\033[36;40m\]\u \[\033[1;31;40m\]\W \[\033[1;35;40m\]\$ > \[\033[1;0;0m\]'**
        fi
        unset color_prompt force_color_prompt

        # If this is an xterm set the title to user@host:dir
        case "$TERM" in
        xterm*|rxvt*)
                PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
                ;;
        *)
                ;;
        esac

        # enable color support of ls and also add handy aliases
        if [ -x /usr/bin/dircolors ]; then
                test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
                alias ls='ls --color=auto'
                #alias dir='dir --color=auto'
                #alias vdir='vdir --color=auto'

                alias grep='grep --color=auto'
                alias fgrep='fgrep --color=auto'
                alias egrep='egrep --color=auto'
        fi

        # colored GCC warnings and errors
        #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

        # some more ls aliases
        alias ll='ls -alF'
        alias la='ls -A'
        alias l='ls -CF'

        # Add an "alert" alias for long running commands.  Use like so:
        #   sleep 10; alert
        alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

        # Alias definitions.
        # You may want to put all your additions into a separate file like
        # ~/.bash_aliases, instead of adding them here directly.
        # See /usr/share/doc/bash-doc/examples in the bash-doc package.

        if [ -f ~/.bash_aliases ]; then
                . ~/.bash_aliases
        fi

        # enable programmable completion features (you don't need to enable
        # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
        # sources /etc/bash.bashrc).
        if ! shopt -oq posix; then
            if [ -f /usr/share/bash-completion/bash_completion ]; then
                . /usr/share/bash-completion/bash_completion
            elif [ -f /etc/bash_completion ]; then
                . /etc/bash_completion
            fi
        fi
阅读 624
4 声望
0 粉丝
0 条评论
你知道吗?

4 声望
0 粉丝
宣传栏