Tag Archives: terminal

My Favorite CLI Applications

I have been somewhat of a terminal junkie for well over 20 years. Right now some of my favorite CLI applications are:Terminal

  • Rainbowstream – Twitter on the command line
  • IRSSI – IRC client (works with Slack too!)
  • MUTT – email client
  • MOC – music player
  • htop – top but prettier
  • finch – basic Pidgin for CLI (no OTR support is downside)
  • pianobar – Pandora on CLI (no ADs!!!)
  • galileo – syncs FitBit via CLI
  • vim – text editor
  • ngrep – packet analyzer
  • nmap – THE port scanner
  • dtrx – decompress without the fuss
  • dstat – monitor numerous parts of your system
  • mtr – traceroute and ping rolled into one
  • multitail – tail on steroids
  • screen – terminal multiplexer
  • netcat – network Swiss Army knife
  • WordGrinder – CLI word processor good for serious writing

If using Debian based Linux (Ubuntu, Mint, etc.) just do:
sudo apt-get install siege mtr pv irssi mutt-patched dtrx screen iftop iotop dstat multitail netcat nmap lftp gnupg moc htop finch pianobar python-pip wordgrinder && sudo pip install rainbowstream

Other honorable mentions (terminal related)

  • termininator – terminal emulator with a lot of cool features
  • guake – drop down terminal

 

Tips: Managing Many Servers via SSH

I manage many servers in my line of work and have found a few things to make life a little easier when it comes to SSH’ing into them when I start my laptop up.The first of these is maintaining an up to date ssh config file which is kept in ~/.ssh that allows me to alias the server address and key. A basic entry in the config file would be for an Amazon Web Services EC2 instance:

Host prod-servername01
HostName ec2-184-88-888-88.compute-1.amazonaws.com
User someuser
IdentityFile /.ssh_keys/servergroup.pem

Once you have all your servers in the config file I create a very simple script to start gnome-terminal with each group of servers:

gnome-terminal --tab --title=prod-servername01 -e 'ssh prdo-servername01' --tab --title=prod-servername02 -e 'ssh prod-servername02'

From the above example you can get the idea of adding more tabs for each additional server. I then create desktop or menu shortcuts for each grouping of server to launch a terminal and ssh into all in the group.