终端terminal个性化配置

http://blog.csdn.net/pipisorry/article/details/39584489

{本文介绍linux终端字体颜色设置、终端提示符显示内容设置、自定义alias命令}

linux打开终端快捷键:

ctrl + alt + t  新窗口中打开

ctrl + shift +t 新标签页中打开

个人配置文件介绍

 系统默认状态下的终端显示为紫底白字(皮皮的linux为ubuntu 14.04 LTS)

   在没有经过自定义配置的终端下因为所有输入输出都是一个颜色(ls命令除外),对查找一些命令的执行结果很不方便。
对终端的配置,可以写到不同的文件之中,如:~/.bashrc、/etc/bash.bashrc、/etc/profile这几个文件。

这些文件的的作用时机

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.此文件默认调用/etc/bash.bashrc文件。

    /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bashshell被打开时,该文件被读取.

   ~/.bash_profile /~/.bash_login/~/.profile: 用户登录执行,source立即生效。每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 改这个吧,source一下。bashrc一般不一定有,像mac系统。

   ~/.bashrc:每次打开新窗口时执行。该文件包含专用于你的bashshell的bash信息。与/etc/bashrc冲突则执行前者~。

   ~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件. 

可以明白的是:针对于用户的配置,应该将配置信息写入~/.bashrc文件。(只对当前用户有效,重新打开的如果不是当前用户的terminal当然没有效果!所以lz一般设置两次,一个root用户,一个当前普通用户)

皮皮blog
 

sh终端颜色配置

为了设置终端颜色,我们需要对~/.bashrc文件中的PS1变量进行定制。     
在颜色模式打开的情况下,PS1变量代表的内容就是用户名+主机名+路径名(长路径)+$。

        eg: pipi@ubuntu:~$ 中用户名-pipi;主机名-ubuntu;路径名-~

颜色=\033[代码;前景;背景m

如\033[1;31;1m代表高亮红色前景和透明背景

\033[0m   #采用终端默认设置,即取消颜色设置

Terminal properties

Terminalbolddarkunderlineblinkreverseconcealed
xtermyesnoyesboldyesyes
linuxyesyesboldyesyesno
rxvtyesnoyesbold/blackyesno
dttermyesyesyesreverseyesyes
teratermreversenoyesrev/redyesno
aixtermnormalnoyesnoyesyes
PuTTYcolornoyesnoyesno
Windowsnonononoyesno
Cygwin SSHyesnocolorcolorcoloryes
Mac Terminalyesnoyesyesyesyes

termcolor · PyPI
http://en.wikipedia.org/wiki/ANSI_escape_code

颜色设置有关的几张表

 ---------------------------------------

代码序列说明

\aASCII响铃字符(也可以键入 \007)

\d "Wed Sep06"格式的日期

\eASCII转义字符(也可以键入 \033)

\h 主机名的第一部分(如 "mybox")

\H 主机的全称(如 "mybox.mydomain.com")

\j 在此 shell中通过按 ^Z挂起的进程数

\l 此 shell的终端设备名(如 "ttyp4")

\n 换行符

\r 回车符

\sshell的名称(如 "bash")

\t24小时制时间(如 "23:01:01")

\T12小时制时间(如 "11:01:01")

\@ 带有 am/pm的 12小时制时间

\u 用户名

\vbash的版本(如 2.04)

\VBash版本(包括补丁级别) ?/td>;

\w 当前工作目录(如 "/home/drobbins")

\W 当前工作目录的“基名 (basename)”(如 "drobbins")

\! 当前命令在历史缓冲区中的位置

\# 命令编号(只要您键入内容,它就会在每次提示时累加)

\$ 如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"

\xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符

\\ 反斜杠

\[这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash能够正确计算自动换行。

\] 这个序列应该出现在非打印字符序列之后。

 --------------------------------------- --------------------------------------- ---------------------------------------

  代码             意义

  0                 OFF

  1                 高亮显示

  4                 underline

  5                 闪烁

  7                 反白显示

  8                 不可见

 ---------------------------------------

 前景            背景             颜色

  30                40               黑色

  31                41               紅色

  32                42               綠色

  33                43               黃色

  34                44               藍色

  35                45               紫紅色

  36                46               青藍色

  37                47               白色

   1                  1              透明色

   ---------------------------------------

sh终端颜色设置

在终端中使用命令对配置文件进行备份cp  ~/.bashrc ~/.bashrc.bak

修改文件~/.bashrc

sudo vi ~/.bashrc #没有这个文件的话可以修改文件sudo vi /etc/bashrc,或者加一个

找到PS1变量设置的代码,注释之,没有的话,直接在末尾加一个

#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)}\u@\h:\w\$ '
#fi
可以直接修改 PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

或者可以在文件的末尾加上”PS1='\u@\h:\w\$'“(这也是终端的默认设置,即不加任何颜色)

PS1说明

颜色=\033[代码;前景;背景m

Note:

1 要将全部非打印字符用bash 转义序列 "\["和 "\]"括起来。"\[  \]"是为了把转义序列的字符串括起来,防止转义序列的文本显示在 shell 里占用太多的空间。

2 \033 声明了转义序列的开始,然后是 [ 开始定义颜色。 后面的 0 定义了默认的字体宽度,接着的中间的数字定义字符颜色。最后面的数字定义了字符背景色。字母m是定义本身所必须的,字母m后面的字符就是你想改变的字符了。

Ps1 ="\[\033[1;32;40m\]

        1:字体宽度,好像有加亮功能.

        32:字符颜色。32表示绿色。

        40:背景色,40表示黑色。

保存回到终端后输入“source ~/.bashrc”。 

示例

让用户名以红色高亮显示

PS1='\[\033[1;31;1m\]\u@\h:\w\$'

示例2:

   我们要想办法让信息显示以不同颜色展示。这里颜色设置的作用范围是从当前设置命令到下一颜色设置命令的,也就是说,如果我们只在\u前设置了颜色,那么终端的字体应该都是红色的,不仅信息项是红色的,就连输入命令都是红色的。

  明白了对PS1变量进行设置的原理之后,可以在PS1变量中插入字符串,或者为每个信息项设置不同的颜色,或者控制信息栏显示的内容:

让用户名(红色)、路径(绿色)、美元符号(黄色)、命令(白色)

PS1='\[\033[1;31;1m\]\u@\h:\[\033[1;32;1m\]\w\[\033[1;33;1m\]\$\[\033[1;37;1m\]'

示例3:推荐

让用户名(红色)、路径(绿色)、美元符号(黄色)、命令(白色)且不显示主机名(@\h去掉)并且显示长路径名

PS1='\[\033[1;31;1m\]\u:\[\033[1;32;1m\]\w\[\033[1;33;1m\]\$\[\033[1;37;1m\]'

终端中路径名过长问题

有时候在终端需要连续打开几层的文件夹才能访问到我们所需的文件,而这个时候在终端中显示的路径名就像是一条长长的尾巴

使终端只显示用户当前工作目录的名字

可以在PS1变量设置终端只显示工作目录的基名,即将PS1变量中的\w的小写的w换成大写的W,修改后的PS1变量为:

PS1='\[\033[1;31;1m\]\u@\h:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]'

不显示主机名(@\h去掉)并且显示短路径名

PS1='\[\033[1;31;1m\]\u:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]'

实现不需每次打开终端都要source的需求

如果打开新的终端,用户定义的配置并没有显示出来,还是默认配置。 这个时候可以通过source命令去手动加载.bashrc文件,可是每次打开终端都要source一次。
回到文章开头的地方,我们说/etc/profile文件从/etc/profile.d目录的配置文件中搜集shell的设置,此文件默认调用/etc/bashrc文件,打开profile文件:

sudo gedit /etc/profile

   在文件中有一句调用/etc/bash.bashrc文件的代码,前文所说profile文件自动加载bash.bashrc文件,事实上就是由代码实现的,可以在这里添加一句新的代码,以使profile自动加载用户的.bashrc文件,实现不需每次打开终端都要source的需求

if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
      . ~/.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi
保存。

打开一个终端,可以发现,我们之前的配置已经能够自动加载了。 

[改变linux终端颜色][Ubuntu终端颜色设置、路径名设置以及ls命令设置][Linux 终端下颜色的输出]

alias命令设置

通过在.bashrc文件中自定义设置,mac下默认是zsh终端对应.zshrc。

sudo vi .bashrc   /   sudo vi .zshrc(可能需要每次都要source,这时可以sudo vi ~/.bash_profile)

source ~/.zshrc

(echo "

#pipi add
alias ll='ls -alF'
alias la='ls -A'

alias ssu='sudo su'
alias vi='vim'
alias rm='rm -i'

#alias ga='git add . ; find . -size +50M ! -path *git* | xargs git reset HEAD'
alias gaf='find . -size +100M ! -path *git* | cut -c 3- >> .gitignore; git add .'
alias ga='git add .; git status'
alias gs='git status'
alias gc='git commit -m 'update'; git status'
alias gp='git push'
alias glog='git log --graph --pretty=oneline --abbrev-commit'

alias dm='docker-machine'

# enable color support of ls and also add handy aliases
#输出色彩功能不是所有系统都可以(linux可以,macos不行)
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'

") >> ~/.bashrc 1> /dev/null

Note:
1.完成后保存并退出GEdit编辑器,回到终端后输入“source ~/.bashrc”(14.04不用输入都可以),再重新打开termial就ok了
2. 不过好像没办法让输入的命令与输出的文件名显示不同颜色,这个怎么解决?(求留言)

zsh终端颜色和命令简写配置

autoload -U colors && colors PROMPT="%{$fg[yellow]%}%n%{$reset_color%}: %{$fg[blue]%}%1~ %{$reset_color%}%# "

[颜色详细的可以查看官方说明文档]

[Mac自定义zsh颜色和格式]

皮皮blog

终端其它设置

终端terminal 补全设置为大小写不敏感

编辑~/.inputrc(没有的话,就新建一个),在最后加一行: 
set completion-ignore-case on
保存,重新打开终端就可以了。

还有命令行输入字符之后,就可以用方向键Up,Down来搜索以该串字符开头的历史命令。

[Bash中自动补全时忽略大小写]

终端显示设置

之前看到的我的终端都是黑底的,其实用户可以直接在终端中设置首选项以实现半透明背景,或者是以一张图片作为背景也可以:
打开一个terminal,鼠标指到屏幕最上面,选择菜单中选择 编辑>配置文件首选项>背景 再设置一下就可以了

from:http://blog.csdn.net/pipisorry/article/details/39584489

ref:通过alias等配置linux的shell颜色技巧

[如何在 Linux 上录制你的终端操作]

  • 12
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
当涉及到配置终端时,有几个方面你可以考虑和定制:外观、功能和快捷键。以下是一些常见的终端配置Idea: 1. 外观:你可以调整终端字体、颜色和主题,以使其更符合你的喜好。大多数终端应用都允许你自定义这些设置。你可以尝试一些预设的主题,或者创建自己的主题。 2. 功能:终端可以有许多功能,例如自动补全、语法高亮、代码折叠等。你可以根据自己的需求选择适合你的插件或扩展来增强终端的功能。 3. 快捷键:你可以配置一些自定义的快捷键来提高工作效率。例如,你可以为某个命令或操作分配一个独特的快捷键,方便你在终端中快速执行它们。 对于具体的终端应用如何进行配置,这取决于你使用的终端应用程序。以下是一些常见的终端应用程序及其配置方法: - Windows 上的 CMD 或 PowerShell:通过更改默认字体、颜色和大小来调整外观。你还可以创建自定义快捷方式并指定命令行选项。 - macOS 上的 Terminal:可以通过首选项来调整外观、功能和快捷键。你可以选择其他 shell,如 zsh,并使用 Oh My Zsh 这样的框架来扩展其功能。 - Linux 上的 GNOME Terminal 或 Konsole:可以通过首选项来调整外观、功能和快捷键。你也可以尝试其他终端模拟器,如 Terminator 或 Tilix。 这些只是一些终端配置的示例,实际上还有很多其他的终端应用程序和配置选项可供选择。你可以根据自己的需求和喜好来进行调整和个性化配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值