Bat 是一个具有语法高亮、自动分页、与 git 集成等功能的 cat 类命令,它是 cat 命令的克隆版,我们在 Linux 操作系统中使用 Bat 及定制 Bat 来替代 cat,bat 支持 Linux、FreeBSD、Windows、macOS 平台,可以在多个平台进行操作。

一、安装Bat的方法

1.如果是在 Arch Linux 系统中则使用命令 $ sudo pacman -S bat 安装。

2.如果是在 Void Linux 中运行命令 xbps-install -S bat 安装。

3.在 Debian、Ubuntu、Linux Mint 等系统中,可以下载 .deb 文件后用下面命令安装:

$ sudo apt install gdebi

$ sudo gdebi bat_xxx_amd64.deb 或 sudo dpkg -i bat_xxx_amd64.deb 安装(xxx为下载的版本号,截止本文时间的最新版本是bat 0.7.1,即 sudo dpkg -i bat_0.7.1_amd64.deb)

二、使用Bat的方法

bat 命令的使用与 cat 命令的使用非常相似。

使用 bat 命令创建一个新的文件:

$ bat > file.txt

使用 bat 命令来查看文件内容,只需要:

$ bat file.txt

你能同时查看多个文件:

$ bat file1.txt file2.txt

将多个文件的内容合并至一个单独文件中:

$ bat file1.txt file2.txt file3.txt > document.txt

就像我之前提到的那样,除了浏览和编辑文件以外,bat 命令有一些非常酷的特性。

bat 命令支持大多数编程和标记语言的语法高亮。比如,下面这个例子。我将使用 cat 和 bat 命令来展示 reverse.py 的内容。

你注意到区别了吗? cat 命令以纯文本格式显示文件的内容,而 bat 命令显示了语法高亮和整齐的文本对齐格式。更好了不是吗?

如果你只想显示行号(而没有表格)使用 -n 标记。

$ bat -n reverse.py

另一个 bat 命令中值得注意的特性是它支持自动分页。 它的意思是当文件的输出对于屏幕来说太大的时候,bat 命令自动将自己的输出内容传输到 less 命令中,所以你可以一页一页的查看输出内容。

让我给你看一个例子,使用 cat 命令查看跨多个页面的文件的内容时,提示符会快速跳至文件的最后一页,你看不到内容的开头和中间部分。

看一下下面的输出:

正如你所看到的,cat 命令显示了文章的最后一页。

所以你也许需要去将使用 cat 命令的输出传输到 less 命令中去从开头一页一页的查看内容。

$ cat reverse.py | less

现在你可以使用回车键去一页一页的查看输出。然而当你使用 bat 命令时这些都是不必要的。bat 命令将自动传输跨越多个页面的文件的输出。

$ bat reverse.py

现在按下回车键去往下一页。

bat 命令也支持 Git 集成,这样您就可以轻松查看/编辑 Git 存储库中的文件。 它与 Git 连接可以显示关于索引的修改。(看左栏)

三、定制Bat的方法

如果你不喜欢默认主题,你也可以修改它。Bat 同样有修改它的选项。

若要显示可用主题,只需运行:

$ bat --list-themes

1337

DarkNeon

Default

GitHub

Monokai Extended

Monokai Extended Bright

Monokai Extended Light

Monokai Extended Origin

TwoDark

要使用其他主题,例如 TwoDark,请运行:

$ bat --theme=TwoDark file.txt

如果你想永久改变主题,在你的 shells 启动文件中加入 export BAT_THEME="TwoDark"。

bat 还可以选择修改输出的外观。使用 --style 选项来修改输出外观。仅显示 Git 的更改和行号但不显示网格和文件头,请使用 --style=numbers,changes。同时 bat 还有更多的技巧及实用改变,等你来摸索定制 bat 了。

相关主题

linux 开启bat文件夹,在Linux系统中使用及定制Bat相关推荐

  1. linux 几个文件夹作用,linux下每一个文件夹的作用.docx

    目录结构及主要内容 "/"根冃录部分有以F子冃录: /usr 口录包含所有的命令.程序库.文档和英它文件.这些文件在正常操作中不会被改变的.这个目录也包含你的Linux 发行版本的 ...

  2. linux的增强文件夹,在linux系统中安装virtualbox增强功能(增强包)的详细步骤是什么...

    在linux系统中安装virtualbox增强功能(增强包)的详细步骤是什么 1. 点击菜单栏 设备 –> 分配光驱 –> 选择一个虚拟光盘,找到VirtualBox安装目录下的`VBox ...

  3. linux云同步文件夹,在Linux系统上备份Dropbox同步文件夹的方法

    本文介绍在Linux系统上备份Dropbox同步文件夹的方法,确保Dropbox文件夹中的数据安全的一种好方法是创建本地备份.在Linux上,有很多不同的方法可以创建备份,因此我们将介绍简单实用的方法 ...

  4. linux清楚保存的密钥文件夹,在Ubuntu系统中删除存储库和GPG密钥的方法

    本文介绍在Ubuntu操作系统中删除存储库和删除存储库密钥(GPG密钥)的方法. 简介 存储库(shortly repo)是开发人员保留软件包的中心位置,存储库中的软件包经过全面测试,并由Ubuntu ...

  5. 红帽linux怎么装文件夹,红帽linux怎么安装第三方字体?

    许多用过 Windows 再去使用红帽 linux 的朋友一定会有这样的感受,就是红帽 linux 的字体相比之下实在是相形见绌.当然,要想红帽 linux 看起来更美观一些,最好的办法莫过于将自己喜 ...

  6. linux批量更新文件夹里,Linux下使用touch批量修改文件夹和文件的时间

    发布时间:2015-07-26 22:51:41 下面只有两个参数存在差别,......[阅读全文] 阅读(3186) | 评论(0) | 转发(0) 发布时间:2015-06-19 17:25:38 ...

  7. linux 如何打开文件夹权限,Linux文件和文件夹权限操作方法

    Linux 文件权限 首先来查看一下当前目录下的文件内容吧 ls -l    查看当前目录下的文件列表 ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件 我们可以看到文件的权限, ...

  8. 在linux怎样删除文件夹里,linux删除文件夹(里头有文件)

    cat /etc/passwd |cut -f 1 -d : 查看所有用户 su 切换用户 userdel 删除户名 adduser username 新建用户 passwd username 更改密 ...

  9. linux复制压缩文件夹,[操作系统]linux中文件或者文件夹的基本操作(复制,移动,删除,查找,压缩)...

    [操作系统]linux中文件或者文件夹的基本操作(复制,移动,删除,查找,压缩) 0 2015-12-28 00:00:15 linux 文件(文件夹)的创建,复制,移动,重命名,删除基本命令 复制文 ...

  10. linux怎么删除文件夹?Linux删除文件夹命令

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r ...

最新文章

  1. requests模块--python发送http请求
  2. android word转html标签,如何将Word转换为网页html格式的方法(附代码清理方法)
  3. 环境变量_配置JAVA环境变量
  4. 在 ASP.NET 中实现会话状态的基础
  5. 带有API网关的AWS Lambda
  6. JavaScript每日学习日记(1)
  7. 二维的完整形式是什么?
  8. 68张微信表情包png
  9. socat使用指南:3:5种常见的使用方法
  10. 关于 联想昭阳 E43A 无线开关设置的 正确解决办法
  11. 软件库App源码+后端源码
  12. MYSQL 多表创建视图
  13. 直流电机开发笔记3—PI调节器的数字实现(代码/仿真)
  14. css 设置元素背景为透明
  15. 接口测试[PostMan]
  16. 【深度学习】实时人眼 瞳孔追踪 系统
  17. 永远不要和沙雕一样的人去争论,争论最后你会发现你也是一个沙雕
  18. poj 1729 Jack and Jill 1376 Robot 1324 Holedox Moving 1475 Pushing Boxes bfs + a*
  19. 我为什么反对把Enter作为发送快捷键
  20. 动态函数监控技术在缓冲区溢出检测中的应用

热门文章

  1. html文字居中单词,html文字居中
  2. 小米qq音乐|小米音乐qq版
  3. 如何区分P2P是互联网创新还是非法集资?最高检回应
  4. PageHelper.startPage分页的使用和pageSize的值和list相同导致循环出来的total总数不对
  5. layui icon服务器上显示不出来,关于layui的动态图标不显示的解决方法
  6. 最大似然估计和最小二乘法 含代码
  7. 二十一个微信公众号推广技巧
  8. 数学建模专栏 | 第八篇:MATLAB评价型模型求解方法
  9. 小学生可以学java编程吗_小学生学编程都要学习哪些内容 家长们知道吗
  10. word自动生成目录如何从正文第一页开始