CLI Tools

For most people, a command-line interface is a product of a bygone era of computing. Computer users up through the 1990s had to be comfortable with a command-line in either DOS or Unix forms, but since then, graphical interfaces have been how most people interact with a computer. This is emphasized in many modern devices like smartphones and tablets where a command-line interface would be difficult to use due to the onscreen keyboard.

Despite the power of modern graphical interfaces, command-line tools are still worth exploring. Many programming tools are primarily used through a command-line, and tying multiple tools together using a shell script provides customizability that most graphical tools can not recreate.

I remain a huge fan of command-lines. Most of my desktops on macOS have a terminal present, and I have one desktop dedicated to a full-screen instance of Alacritty that I use for writing and other various uses. Below are some of my favorite tools to use, along with basic some of my most commonly used commands.

bat

Site: https://github.com/sharkdp/bat
Summary: Clone of cat with syntax highlighting and Git integration

dtrx

Site: https://brettcsmith.org/2007/dtrx/
Summary: Intelligent archive extraction

fd

Site: https://github.com/sharkdp/fd
Summary: A simple, fast and user-friendly alternative to 'find'

ffmpeg

Site: https://ffmpeg.org/
Summary: Play, record, convert, and stream audio and video

git-sizer

Site: https://github.com/github/git-sizer
Summary: Compute various size metrics for a Git repository, flagging those that might cause problems

lynx

Site: http://lynx.invisible-island.net
Summary: Text-based web browser that supports http, gopher, ftp, and telnet

mas

Site: https://github.com/mas-cli/mas
Summary: Mac App Store command-line interface

neofetch

Site: https://github.com/dylanaraps/neofetch
Summary: Fast, highly customisable system info script

neovim

Site: https://neovim.io
Summary: Ambitious Vim-fork focused on extensibility and agility

pandoc

Site: https://pandoc.org
Summary: Swiss-army knife of markup format conversion

python

Site: https://www.python.org
Summary: Interpreted, interactive, object-oriented programming language

ranger

Site: https://ranger.github.io
Summary: A vim-inspired filemanager for the console

ripgrep

Site: https://github.com/BurntSushi/ripgrep
Summary: Search tool like grep and The Silver Searcher

sassc

Site: https://github.com/sass/sassc
Summary: Wrapper around libsass that helps to create command-line apps

swiftlint

Site: https://github.com/realm/SwiftLint
Summary: Tool to enforce Swift style and conventions

tldr

Site: https://tldr.sh/
Summary: Simplified and community-driven man pages

tmux

Site: https://tmux.github.io/
Summary: Terminal multiplexer

tokei

Site: https://github.com/XAMPPRocky/tokei
Summary: A program that allows you to count your code, quickly

tree

Site: http://mama.indstate.edu/users/ice/tree/
Summary: Display directories as trees

webkit2png

Site: http://www.paulhammond.org/webkit2png/
Summary: Create screenshots of webpages from the terminal

wget

Site: https://www.gnu.org/software/wget/
Summary: Internet file retriever

youtube-dl

Site: https://rg3.github.io/youtube-dl/
Summary: Download Youtube videos from the command-line