Linux下一只五颜六色的「猫」
大家好,我是良许。
有使用过 Linux 系统的小伙伴,肯定会使用过 cat
这个命令。当然,在 Linux 下,此猫非彼猫,这里的 cat 并不代表猫,而是单词 concatenate 的缩写。
cat
命令是一个 Unix 或类 Unix 下文本的查看命令,同时也可以配合重定向实现合并与复制功能。它是 GNU Linux 和类 Linux 操作系统中最常用的命令之一,使用频率非常高。
但是对于编程人员来讲的话,cat 命令有个问题,就是它的输出不带有任何颜色标记。如果我们用 cat 命令去查看代码文件的话,关键字没有颜色标记真的非常不方便阅读。
为了解决这一个痛点,有大佬就开发出了 ccat
这个命令。ccat
与 cat
非常相似,但是使用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下一只五颜六色的「猫」的更多相关文章
- 一个只需要点 「下一步」就完成监控 Windows
Cloud Insight 此前已然支持 Linux 操作系统,支持20多中数据库中间件等组件,多种操作,多种搭配,服务器监控玩的其乐无穷啊!但想想还有许多 Windows 的小伙伴没有体验过,所以在 ...
- linux下ifconfig只剩下lo的解决方法
运行以下命令,删除旧的网络配置,重新让networkmanager自动配置即可 sudo service network-manager stop sudo rm /var/lib/NetworkMa ...
- Linux 小知识翻译 - 「i386」是什么?
i386是指 *CPU* 的种类,也可以指 *CPU* 的架构(architecture). 现在的 CPU 一般都用 「Core 2 Duo」或者「Athlon」,「Xeon」,「Opteron」之 ...
- 每个程序员都可以「懂」一点 Linux
提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Linux 有多远?如果决定学习 Linux,应该怎么开始?要学到什么程 ...
- linux下vi命令的使用
linux vi命令详解 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单 ...
- Linux下Vi/Vim的使用方法
本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特 ...
- linux下vim配置以及一些常用的快捷键
一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...
- Loj #3056. 「HNOI2019」多边形
Loj #3056. 「HNOI2019」多边形 小 R 与小 W 在玩游戏. 他们有一个边数为 \(n\) 的凸多边形,其顶点沿逆时针方向标号依次为 \(1,2,3, \ldots , n\).最开 ...
- linux下通过iptables只允许指定ip地址访问指定端口的设置方法
这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...
随机推荐
- log报错的原因解决
idea未装lombok的插件: 1.用快捷键Ctrl+Alt+S打开:Settings→Plugins→Browse repositories 2.输入lom后选择Install,安装插件 3.按照 ...
- thinkphp3.2 where 条件查询
thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整理下,有助于使用 查询条件 支持的表达式查询,tp不区分大小写 含义 TP运算符 SQL运算符 例子 ...
- Linux 之Mycat搭建报错 java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException
搭建MyCat环境时出现 错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.Unknown ...
- 4.WebPack-Loader
一.什么是Loader WebPack默认只"认识"以*.js结尾的文件,如果想处理其他类型的文件,就必须添加Loader,有各种各样的Loader,每个Loader可处理不同类型 ...
- 挖洞入门_显错型SQL注入
简介:在漏洞盒子挖洞已经有一段时间了,虽说还不是大佬,但技术也有所进步,安全行业就是这样,只有自己动手去做,才能将理论的知识变为个人的经验.本篇文章打算分享一下我在挖显错型SQL注入漏洞过程中的一些个 ...
- Linux 开放指定端口号
1.开启防火墙 [root@localhost opt]# systemctl start firewalld 2.查看当前防火墙状态 [root@localhost opt]# systemctl ...
- 09.spring框架整合junit
在正常的实际开发中都是按照上面这种方式来进行管理的.
- 用Python进行实时计算——PyFlink快速入门
Flink 1.9.0及更高版本支持Python,也就是PyFlink. 在最新版本的Flink 1.10中,PyFlink支持Python用户定义的函数,使您能够在Table API和SQL中注册和 ...
- 入门大数据---通过Yarn搭建MapReduce和应用实例
上一篇中我们了解了MapReduce和Yarn的基本概念,接下来带领大家搭建下Mapreduce-HA的框架. 结构图如下: 开始搭建: 一.配置环境 注:可以现在一台计算机上进行配置,然后分发给其它 ...
- STL初步学习(map)
3.map map作为一个映射,有两个参数,第一个参数作为关键值,第二个参数为对应的值,关键值是唯一的 在平时使用的数组中,也有点类似于映射的方法,例如a[10]=1,但其实我们的关键值和对应的值只能 ...