MAC 终端terminal颜色
Mac终端terminal颜色实在太单调了,安装Linux使用的GNU Coreutils替换Mac的ls命令:
Mac终端terminal颜色实在太单调了,安装Linux使用的GNU Coreutils替换Mac的ls命令:
Homebrew类似于Centos下的Yum工具,安装软件自动解决依赖关系,非常不错。Homebrew工具的安装见Homebrew官方首页安装说明。
由于Coreutils安装包是xz压缩格式,因此需要同时安装xz工具:
brew install xz coreutils
2、生成颜色配置文件:
gdircolors --print-database > ~/.dir_colors
if brew list | grep coreutils > /dev/null ; then
PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
alias ls='ls --show-control-chars --color=auto'
eval `gdircolors -b $HOME/.dir_colors`
fi
gdircolor的作用就是设置ls命令使用的环境变量LS_COLORS(BSD是LSCOLORS),我们可以修改~/.dir_colors自定义文件的颜色,此文件中的注释已经包含各种颜色取值的说明。
Mac到手有一段时间了,看着那默认的单调的Terminal,实在是很难看,便着手美化了一下终端的配色方案,主要分为两步:
一是在终端的设置偏好里设置,可以设置字体的大小,颜色,背景颜色,透明度等等,一般基本的美化操作在这里都可以设置。但是不能设置ls命令针对不同文件显示不同的颜色。
二是调整ls命令显示的文件类型颜色。这步也是最复杂的,主要原理是用dircolors命令读取 .dir_color文件中的配色方案,设置LS_COLORS变量,让ls针对不同文件显示不同的颜色。主要分为以下三步骤(参考TroyCheng同学方法):
主要分以下三步:
- 手动下载并编译安装coreutils,可以在这里下载:下载地址。下载完毕之后解压并且安装(安装需要使用gcc,make等命令,可以通过安装Xcode获得):
tar xzvf coreutils-8.9.tar.gz;
cd coreuiils-8.9;
./configure --prefix=/usr;
sudo make;
sudo make install - 安装完毕之后需要配置终端的profile:
export PS1="\[\e[0;32m\][\e[0;32m\]\u@\e[0;31m\]\h \[\e[0;34m\]\w\e[0;32m\]] $ \[\e[0m\]"test -r /sw/bin/init.sh && . /sw/bin/init.shif [ "$TERM" != "dumb" ]; thenexport LS_OPTIONS='--color=auto'test -r ~/.dir_color && eval "$(dircolors -b ~/.dir_color)" || eval "$(dircolors -b)"eval `dircolors ~/.dir_color`fi# Useful aliasesalias ls='ls $LS_OPTIONS'alias ll='ls -al'alias grep='grep $LS_OPTIONS'alias fgrep='fgrep $LS_OPTIONS'alias egrep='egrep $LS_OPTIONS' - 如果需要自己设置颜色文件,那么可以编辑如下文件:
vim ~/.dir_color;添加如下的内容即可:# Configuration file for dircolors, a utility to help you set the# LS_COLORS environment variable used by GNU ls with the --color option.# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the# slackware version of dircolors) are recognized but ignored.# Below, there should be one TERM entry for each termtype that is colorizableTERM linuxTERM linux-cTERM mach-colorTERM consoleTERM con132x25TERM con132x30TERM con132x43TERM con132x60TERM con80x25TERM con80x28TERM con80x30TERM con80x43TERM con80x50TERM con80x60TERM xtermTERM xterm-colorTERM xterm-debianTERM rxvtTERM screenTERM screen-wTERM vt100# Below are the color init strings for the basic file types. A color init# string consists of one or more of the following numeric codes:# Attribute codes:# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed# Text color codes:# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white# Background color codes:# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=whiteNORMAL 00 # global default, although everything should be something.FILE 00 # normal fileDIR 01;36 # directoryLINK 01;37 # symbolic link. (If you set this to 'target' instead of a# numerical value, the color is as for the file pointed to.)FIFO 40;33 # pipeSOCK 01;35 # socketDOOR 01;35 # doorBLK 40;33;01 # block device driverCHR 40;33;01 # character device driverORPHAN 40;31;01 # symlink to nonexistent file# This is for files with execute permission:EXEC 00;35# List any file extensions like '.gz' or '.tar' that you would like ls# to colorize below. Put the extension, a space, and the color init string.# (and any comments you want to add after a '#')# If you use DOS-style suffixes, you may want to uncomment the following:#.cmd 01;32 # executables (bright green)#.exe 01;32#.com 01;32#.btm 01;32#.bat 01;32.tar 01;31 # archives or compressed (bright red).tgz 01;31.arj 01;31.taz 01;31.lzh 01;31.zip 01;31.z 01;31.Z 01;31.gz 01;31.bz2 01;31.deb 01;31.rpm 01;31.jar 01;31.dmg 01;31# image formats.jpg 01;35.png 01;35.gif 01;35.bmp 01;35.ppm 01;35.tga 01;35.xbm 01;35.xpm 01;35.tif 01;35.png 01;35.mpg 01;35.avi 01;35.fli 01;35.gl 01;35.dl 01;35# source code files.pl 00;33.PL 00;33.pm 00;33.tt 00;33.yml 00;33.sql 00;33.html 00;33.css 00;33.js 00;33
MAC 终端terminal颜色的更多相关文章
- mac终端terminal快捷键:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Hannotate SC" } span.s1 { } p.p1 { m ...
- mac终端terminal快捷键
mac终端terminal快捷键: Command + K 清屏 Command + T 新建标签 Command +W 关闭当前标签页 Command + S 保存终端输出 Command + ...
- mac 终端(terminal) 启动tomcat
mac 终端启动tomcat: 找到你的tomcat安装的根目录:找到bin目录,在终端 cd 到这个bin中,输入sudo ./startup.sh (然后终端会提示你输入本机密码如果是在需要权限的 ...
- Mac终端(Terminal)自定义颜色,字体,背景
使用Mac作为开发机的时候,苹果终端自带的颜色黑白,字体又小,看起来确实不是很舒服.那推荐大家使用Solarized配色方案.Solarized 是目前最完整的 Terminal/Editor/IDE ...
- Mac终端ls颜色设置
mac自带的终端是款非常好用的ssh工具,但ls命令下文件与文件夹都是单一的颜色,为了更好区分,作出修改. 终端默认背景颜色为白色,(终端->偏好设置->描述文本),可修改背景颜色与字体大 ...
- Mac 终端Terminal光标移动快捷键
声明: 转载自: http://blog.csdn.net/lgm252008/article/details/8253519 在Mac系统中并没有Home.End等键,所以在使用时并不是特别的顺手, ...
- mac 终端添加颜色
1.打开终端,然后找到终端偏好设置,选择自己喜欢的颜色 2.然后切换到当前用户的家目录: cd ~ 3.打开文件,开始编辑".bash_profile", 添加下面两句 expor ...
- Mac终端Terminal调用Sublime Text
Sublime Text 本身提供了命令行工具, 只需要在 Terminal 中输入以下内容就行了 sudo ln -s /Applications/Sublime\ Text.app/Content ...
- mac终端(terminal)里的快捷键
Command + K 清屏 Command + T 新建标签 Command +W 关闭当前标签页 Command + S 保存终端输出 Command + D 垂直分隔当前标签页 Command ...
随机推荐
- java需要掌握内容、核心不断更新中
1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagra ...
- c# 实现遍历 DataTable 和DataSet (简单的方式)
今天 做一个小程序 ,遇到了这样一个 问题就是 怎样简单的 遍历一个 DataTable 一. DataTable table= DBhelper.GetDataTable(str);foreach( ...
- 2018 ACM ICPC 南京赛区 酱油记
Day 1: 早上6点起床打车去车站,似乎好久没有这么早起床过了,困到不行,在火车上睡啊睡就睡到了南京.南航离南京南站很近,地铁一站就到了,在学校里看到了体验坐直升机的活动,感觉很强.报道完之后去吃了 ...
- 首次接触XAMPP,端口被占用困恼
本人运气比较好,首次安装XAMPP就碰到了各种问题啊!并且已经解决,以下是我问题的出处并且解决. 问题描述: apache无法打开,并且连带的出现了mySql无法打开.(即80端口冲突问题) 解决办法 ...
- hbase0.96.0单机模式安装(win7 无需cygwin)
之前折腾了几天,想让hbase的单机模式在cygwin上跑起来,都不成功.正当我气馁之时,我无意中发现hbase0.96.0的bin和conf目录下有一些扩展名为cmd的文件.这难道是给win ...
- java 连接mariadb 无法获取数据源的问题,在ubuntu上部署的时候(原创)
问题: 连接数据库时报错: log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).log4j:WARN ...
- IOS-添加分段控件SegmentControl
本文转载至 http://www.cnblogs.com/tx8899/archive/2012/06/05/2537020.html 添加分段控件 控件是一种小型的.自包含的UI组件,可以用在各种U ...
- 基础知识《三》java修饰符
一.修饰符 private 成员随时都是“私有”的,任何人不得访问.但在实际应用中,经常想把某些东西深深地藏起来,但同时允许访问衍生类的成员. protected 关键字可帮助我们做到这一点.它的意思 ...
- mysql "ON DUPLICATE KEY UPDATE" 的使用
ON DUPLICATE KEY UPDATE 语法并不是SQL的标准语法,如果在句尾指定该语法,它会根据指定的主键或者唯一标示索引来更新数据库的内容 具体的操作是想根据唯一标示查看数据库是否存在该记 ...
- 云计算和SDN中的开源交换机介绍以及使用
之前关于SDN的开发工作都是在控制器层面上(以ryu为主),现在开始了新的工程项目,需要同时修改控制器和交换机的源码,如果后续项目需要,还可能需要加中间层——网络虚拟层,这部分的知识已经在前面读过了相 ...