Cool CLI Applications
Learning how to use the terminal is a side effect I gained after switching to GNU/Linux. It is absolutely not necessary to know how to use it, but it makes you more productive (and look cooler?). These are some command line applications I use:
- Chafa
- Displays images and gifs in the terminal
 
- Lf + lfimg
- `lf` (list files) is a terminal file manager. I use `lf` with `lfimg` which allows you to preview the text files, render images/gifs and shows properties of binary files.
 
- Neovim
- Text editor. If you are too lazy to customize it with plugins you should use LunarVim. I use `neovim` whenever I need to make a small change to a file, I tend to use “VS Code” for actual heavy-duty programming.
 
- Glow
- Fast and simple markdown renderer. Definitely worth checking out charm.sh.
 
- Cmus
- fast and feature rich music player. Honestly I prefer `cmus` over any music player GUI or non-GUI.
 
- Doas
- `sudo` but less bloated and better security due to less surface attack. There is only one problem with `doas` and that is it currently does not work with `makepkg`.
 
- Jdupes
- A powerful duplicate file finder and an enhanced fork of `fdupes`.
 
- Optipng
- Optimize and compress images.
 
- Exiftool
- Remove or manipulate metadata of files.
 
- Trash-cli
- I have `rm` aliased to this command (the documentation says not to). This can be the difference between life and death. `rm -rf` is a dangerous command to run. Its safer to trash the file/folder than permanently deleting it.
 
- Chezmoi
- Manages dotfiles and configurations of various programs (like the ones in this list).
 
- Mosh
- Alternative `ssh` which maintains connection after changing networks, running commands using it is faster than regular `ssh`. Use `screen` with `mosh` to maintain a connection after closing the client.
 
- Pwgen
- generates passwords or random strings.
 
- Bat
- `cat` but with syntax highlighting and integration with `git`. I have `bat —paging=never` aliased to this command.
 
- Zoxide
- `cd` but remembers previous directories.
 
- Lsd
- `ls` but deluxe. Its a rewrite of `ls` in rust. I have `ls` aliased to this command.
 
- Tokei
- Counts number of files, code written, comments, blank spaces, and lines of code used within a directory.
 
- Ripgrep
- `grep` but modernized and faster. I have `grep` aliased to this command.
 
- Pfetch
- Minimal system information and shows OS’s logo. One can say its `neofetch` but with one less config file.
 
- hostnamectl
- Changes hostname and lists information about the host machine.
 
- Inxi
- Provides a ton of system information.
 
- Pipes.sh
- Cool looking screensaver.
 
- Unimatrix
- Cool looking screensaver, inspired by “The Matrix” movie but better than `cmatrix`.
 
- TTY-clock
- Clock that displays the time.
 
- Htop
- Process viewer.
 
- Gotop
- Activity monitor.
 
- Radeontop
- Shows GPU usage. This program is aimed at AMD graphics based systems.
 
- Powertop
- Power consumption monitor and power saving tool.
 
- Speedometer
- Shows network usage. This program has a lot of configuration options!
 
- Lolcat
- Makes output of last command rainbow.
 
- Pywal
- Generates color schemes based of a provided images. I use `pywal` in a script to automatically choose a random image (or I can manually choose one) to use as my wallpaper and theme my desktop to match its colors.
 
- Ansi2html
- Command that converts text with ANSI colors to HTML or LaTeX.
 
- Script
- Linux kernel command which records commands ran by the user and their outputs (stdin/stdout) to a file.
 
- Cheat
- List common hard to remember terminal programs usage.
 
- Fd
- User-friendly alternative to `find`.
 
- Ncdu
- Disk usage analyzer with an ncurses interface.
 
- Gdu
- Disk usage analyzer but written in go.
 
- shellcheck
- konsave
- nvtop