大家好,我是良许。

有使用过 Linux 系统的小伙伴,肯定会使用过 cat 这个命令。当然,在 Linux 下,此猫非彼猫,这里的 cat 并不代表猫,而是单词 concatenate 的缩写。

cat 命令是一个 Unix 或类 Unix 下文本的查看命令,同时也可以配合重定向实现合并与复制功能。它是 GNU Linux 和类 Linux 操作系统中最常用的命令之一,使用频率非常高。

但是对于编程人员来讲的话,cat 命令有个问题,就是它的输出不带有任何颜色标记。如果我们用 cat 命令去查看代码文件的话,关键字没有颜色标记真的非常不方便阅读。

为了解决这一个痛点,有大佬就开发出了 ccat 这个命令。ccatcat 非常相似,但是使用ccat命令,显示的代码内容会带有颜色,这对于码农来讲非常友好。目前,ccat 支持 JavaScript,Java,Ruby,Python,Go,C 和 JSON 语言。

下面良许就给大家详细介绍 ccat 的用法。

1. 安装Ccat

1)ccat 命令在 AUR 里直接可用,所以如果你的系统里有 AUR 助手的话,可以直接安装。比如 Arch 系统,直接使用 yay 命令就可以安装。

Arch 用户软件仓库 通常称为 AUR,AUR 助手是一个包装程序,允许用户从 AUR 存储库安装软件包,而无需手动干预。

$ yay -S ccat

2)在其他 Linux 发行版中,你需要编译并安装ccat,步骤如下所示:

  • 使用如下命令下载源码归档压缩包
$ wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
  • 解压缩下载的归档文件
$ tar xfz linux-amd64-1.1.0.tar.gz
  • 将ccat可执行文件复制到系统 $PATH 中(例如,/usr/local/bin/)
$ sudo cp linux-amd64-1.1.0/ccat /usr/local/bin/
  • 最后,使用 chmod 为 ccat 命令添加可执行权限
$ sudo chmod +x /usr/local/bin/ccat

2. 如何使用ccat对cat命令进行着色

ccat 使用方法和 cat 命令非常相似,下面给大家举一些列子。

我们先用 cat 命令查看文本文件,例如 hello.c 。

$ cat hello.c

效果如下图

可以看出来代码没有任何颜色标记(大家应该对这个结果很熟悉)。现在,再使用 ccat 查看文本文件 hello.c ,并查看其如何显示输出。

$ ccat hello.c

效果如下图:

您注意到差异了吗?ccat 使用语法高亮显示输出,而 cat 命令仅以系统的默认主题颜色显示输出。

我们还可以一次显示多个文件的输出,如下所示。

$ ccat test.txt example.txt

由于某些原因,您可能希望以HTML格式显示输出。为此,只需在末尾添加“ –html”选项。

$ ccat test.txt --html

不仅是本地文件,我们还可以像下面这样直接在网络上显示文件的内容。

$ curl https://raw.githubusercontent.com/jingweno/ccat/master/main.go | ccat

要查看默认的代码颜色,运行如下命令。

$ ccat --palette

当然,您可以如下设置自己的颜色代码。

$ ccat -G String="_fuchsia_" -G Plaintext="darkteal" hello.c

ps:在下载步骤中可能会遇到如下错误

这是由于 github 升级了 openssl,停用了 tlsv1.1,你只需要更新本机的 openssl 以及 git 工具即可解决该问题。

3. 替换系统中的cat

如果您喜欢 ccat 并想用 ccat 替换默认的 cat 命令,则只需创建一个别名即可。

如果是从 Arch Linux 中的 AUR 安装的,请在 ~/.bashrc 文件中添加以下行。

alias cat=ccat

如果是从编译的二进制文件安装的,则在 ~/.bashrc 文件中添加以下行。

alias cat=/usr/local/bin/ccat

最后,运行以下命令以使更改生效。

$ source ~/.bashrc

要在整个系统范围内添加它(所有用户都可以使用这个命令),请在 /etc/bashrc (在基于RPM的系统上)或 /etc/profile(在Debian的系统上)文件中添加以上条目。


公众号:良许Linux

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

Linux下一只五颜六色的「猫」的更多相关文章

  1. 一个只需要点 「下一步」就完成监控 Windows

    Cloud Insight 此前已然支持 Linux 操作系统,支持20多中数据库中间件等组件,多种操作,多种搭配,服务器监控玩的其乐无穷啊!但想想还有许多 Windows 的小伙伴没有体验过,所以在 ...

  2. linux下ifconfig只剩下lo的解决方法

    运行以下命令,删除旧的网络配置,重新让networkmanager自动配置即可 sudo service network-manager stop sudo rm /var/lib/NetworkMa ...

  3. Linux 小知识翻译 - 「i386」是什么?

    i386是指 *CPU* 的种类,也可以指 *CPU* 的架构(architecture). 现在的 CPU 一般都用 「Core 2 Duo」或者「Athlon」,「Xeon」,「Opteron」之 ...

  4. 每个程序员都可以「懂」一点 Linux

    提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Linux 有多远?如果决定学习 Linux,应该怎么开始?要学到什么程 ...

  5. linux下vi命令的使用

    linux vi命令详解   刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单 ...

  6. Linux下Vi/Vim的使用方法

    本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特 ...

  7. linux下vim配置以及一些常用的快捷键

    一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...

  8. Loj #3056. 「HNOI2019」多边形

    Loj #3056. 「HNOI2019」多边形 小 R 与小 W 在玩游戏. 他们有一个边数为 \(n\) 的凸多边形,其顶点沿逆时针方向标号依次为 \(1,2,3, \ldots , n\).最开 ...

  9. linux下通过iptables只允许指定ip地址访问指定端口的设置方法

    这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...

随机推荐

  1. mysql小数类型

    原文链接:https://blog.csdn.net/weixin_42047611/article/details/81449663 MySQL 中使用浮点数和定点数来表示小数. 浮点类型有两种,分 ...

  2. vulstack红队评估(五)

    一.环境搭建: ①根据作者公开的靶机信息整理 虚拟机密码: Win7: heart 123.com    #本地管理员用户 sun\Administrator dc123.com    #域管用户,改 ...

  3. 记一次mysql小版本升级

    最近护网操作比较紧,基线和漏洞检查比较频繁,新扫描出来的mysql漏洞需要修复,没有啥好的修复方法,只剩下升级版本这一条路,生产环境是5.7.12,二进制文件直接解压使用的,看了一下现在最新的版本,5 ...

  4. swiper 实现滑动解锁

    最近项目中有这样一个需求,研究了两种写法一个原生,一个使用框架 原生写法: <!DOCTYPE html> <html> <head> <meta chars ...

  5. 爬取B站弹幕并且制作词云

    目录 爬取弹幕 1. 从手机端口进入网页爬取找到接口 2.代码 制作词云 1.文件读取 2.代码 爬取弹幕 1. 从手机端口进入网页爬取找到接口 2.代码 import requests from l ...

  6. Mariadb之事务隔离级别

    上一篇我们聊到了mariadb的锁,以及怎么手动加锁和解锁等等,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13196905.html:今天我们来聊一聊mar ...

  7. 进度条的使用 Progress控件

    MFC编程实例二:进度条的使用 2011-03-22 09:09:09|  分类: C++(C语言) |  标签:进度  nlower  nupper  添加  mfc  |字号 订阅    本人用的 ...

  8. oracle闪回,找回已提交修改的记录

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_24521431/article/details/84580166 例如删除ward_id为96 ...

  9. Vue.js 组件复用和扩展之道

    软件编程有一个重要的原则是 D.R.Y(Don't Repeat Yourself),讲的是尽量复用代码和逻辑,减少重复.组件扩展可以避免重复代码,更易于快速开发和维护.那么,扩展 Vue 组件的最佳 ...

  10. Zookeeper-Access Control List(ACL)

    概述 Z K作为一个分布式协调框架.内部存储着一些分布式系统运行时状态的元数据.如何有效的保护这些数据的安全.如何做一个比较好的权限控制显得非常的重要. ZK 为我们提供一套完善的 ACL(acces ...