I spend a lot of time in the command line. Over time I have come across these valuable tools.

Networking

  1. iftop – This is like top for networking. I can quickly see what servers my computer is connected to, and how much bandwidth each connection is using.

  2. vnstat – Keeps track of how much data passes through each interface.  One extra nice thing about vnstat is it doesn’t require root (sudo) to run.

  3. netstat – This offers detailed information about network connections.  Netstat usually comes with Linux distros, but it’s helped me out enough to be on this list.  I often run this as netstat -tulpn to see what programs are listening to various ports.

Files

  1. sshfs – This is often the easiest way to access or transfer files and it has the bonus of running inside an encrypted ssh connection.

  2. duplicati – A versatile solution for backing up directories. I started using duplicity but I ran into issues when trying to recover from Google Drive, so I switched to duplicati. Duplicati can encrypt files using either a GPG key, or a password and AES.

Other Utilities

  1. vim – How could I not mention vim?  It is an extremely versatile editing program. While it is one of the programs I use most, I still probably know about 1% of its capabilities.

  2. htop – Shows process information (CPU, RAM, etc). I prefer htop to top because it is easier to tell CPU and memory usage, and it looks much nicer.

  3. tmux – This allows you disconnect from a running program and reconnect later.  A while back, I used screen but then I found out how much better tmux is.  The winning feature for me was the ability to launch in read-only mode with the -r flag.

Making everything look better

  1. grc – Generic Colouriser makes things like ping and traceroute look a whole lot nicer. It supports a few programs right out of the box, but you can add more.

  2. Solarized – I use this to set Terminal and vim colors. I prefer the dark mode because it is less intensive late at night.