+++ draft = false slug = "rust-alternatives-to-command-line-utilites-bat-cat" tags = ['Rust', 'Bash', 'Cat', 'Unix'] banner = "" title = 'Replacing Cat with Bat' date = "2019-01-06" +++ Any frequent user of a Unix operating system will find themselves using the same command line utilities over and over again: rm, mv, ls, cp, grep, and cat to name a handful. A lot of these utilities are old and are written in C. C is a great language for high performance work but it's long in the tooth and it's speed often comes at the cost of reliability and/or security. Of course, whilst classic Unix utilities like cat are battle tested they are often difficult to change. Decades old codebases aren't the easiest thing to work with and doing so in a way that is backwards compatible and with the same level of assurance of reliability isn't trivial. Thankfully [Rust](https://www.rust-lang.org/) provides a solution - a language with safety and performance at it's heart. Recently I stumbled across a 'rustified' version of cat - [Bat](https://github.com/sharkdp/bat). Bat is a true cat replacement that also includes syntax highlighting, Git integration, and automatic piping to less - awesome!