扣丁学堂Linux基础教程如何使用命令行添加自定义文本颜色

2018-07-12 13:51:52 424浏览

今天扣丁学堂小编给大家介绍一下关于Linux培训之如何在Linux命令行中添加自定义文本颜色讲解,当你打开在Linux命令行注意到了ls以多种不同的颜色显示文件,其实是有一些区别目录是一种颜色,可执行文件是另一种颜色等等,那么这些颜色是通过哪些选项来选项来改变颜色分配的呢?下面我们一起来看一下吧。



一种方法是运行dircolors命令得到一大堆展示了如何指定这些颜色的数据。它会显示以下这些东西:


  $dircolors
  LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do
  =01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg
  =30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01
  ;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01
  ;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=0
  1;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31
  :*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.
  xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.t
  bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.j
  ar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.a
  lz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.r
  z=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.
  mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:
  *.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:
  *.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;3
  5:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;
  35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01
  ;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01
  ;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01
  ;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;3
  5:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;3
  5:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;3
  6:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;
  36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;
  36:*.spx=00;36:*.xspf=00;36:';
  exportLS_COLORS


如果你擅长解析文件,那么你可能会注意到这个列表有一种模式patten。用冒号分隔开,你会看到这样的东西:

  $dircolors|tr":""\n"|head-10
  LS_COLORS='rs=0
  di=01;34
  ln=01;36
  mh=00
  pi=40;33
  so=01;35
  do=01;35
  bd=40;33;01
  cd=40;33;01
  or=40;31;01

OK,这里有一个模式——一系列定义,有一到三个数字组件。我们来看看其中的一个定义。

pi=40;33

有些人可能会问的第一个问题是“pi是什么?”在这里,我们研究的是颜色和文件类型,所以这显然不是以3.14开头的那个有趣的数字。当然不是,这个“pi”代表“pipe(管道)”——Linux系统上的一种特殊类型的文件,它可以将数据从一个程序传递给另一个程序。所以,让我们建立一个管道。

$mknod/tmp/mypipep
$ls-l/tmp/mypipe
prw-rw-r--1shsshs0May114:00/tmp/mypipe

当我们在终端窗口中查看我们的管道和其他几个文件时,颜色差异非常明显。
fontcolors
fontcolors

在pi的定义中(如上所示),“40”使文件在终端(或PuTTY)窗口中使用黑色背景显示,31使字体颜色变红。管道是特殊的文件,这种特殊的处理使它们在目录列表中突出显示。

bd和cd定义是相同的——40;33;01,它有一个额外的设置。这个设置会导致块设备blockdevice(bd)和字符设备characterdevice(cd)以黑色背景,橙色字体和另一种效果显示——字符将以粗体显示。

以下列表显示由文件类型filetype所指定的颜色和字体分配:

  settingfiletype
  ================
  rs=0resettonocolor
  di=01;34directory
  ln=01;36link
  mh=00multi-hardlink
  pi=40;33pipe
  so=01;35socket
  do=01;35door
  bd=40;33;01blockdevice
  cd=40;33;01characterdevice
  or=40;31;01orphan
  mi=00missing?
  su=37;41setuid
  sg=30;43setgid
  ca=30;41filewithcapability
  tw=30;42directorywithstickybitandworldwritable
  ow=34;42directorythatisworldwritable
  st=37;44directorywithstickybit
  ex=01;93executable

你可能已经注意到,在dircolors命令输出中,我们的大多数定义都以星号开头(例如,*.wav=00;36)。这些按文件扩展名fileextension而不是文件类型定义显示属性。这有一个示例:

  $dircolors|tr":""\n"|tail-10
  *.mpc=00;36
  *.ogg=00;36
  *.ra=00;36
  *.wav=00;36
  *.oga=00;36
  *.opus=00;36
  *.spx=00;36
  *.xspf=00;36
  ';
  exportLS_COLORS

这些设置(上面列表中所有的00;36)将使这些文件名以青色显示。可用的颜色如下所示。
allcolors
allcolors

如何改变设置

你要使用ls的别名来打开颜色显示功能。这通常是Linux系统上的默认设置,看起来是这样的:

aliasls='ls--color=auto'

如果要关闭字体颜色,可以运行unaliasls命令,然后文件列表将仅以默认字体颜色显示。

你可以通过修改$LS_COLORS设置和导出修改后的设置来更改文本颜色。

$exportLS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;...

注意:上面的命令由于太长被截断了。

如果希望文本颜色的修改是永久性的,则需要将修改后的$LS_COLORS定义添加到一个启动文件中,例如.bashrc。

以上就是关于扣丁学堂Linux基础教程如何使用命令行添加自定义文本颜色的详细介绍,希望对小伙伴所有帮助。想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂是专业的Linux培训班,不仅有专业的老师和与时俱进的课程体系,还有大量的Linux视频教程供学员观看学习哦。扣丁学堂Linux技术交流群:422345477。

扣丁学堂微信公众号



关注微信公众号获取更多的学习资料



查看更多关于“Linux培训资讯”的相关文章>>

标签: Linux命令 Linux视频教程 Linux培训 Linux基础教程

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号