Awesome Terminal Tools

This article recommends awesome (and even funny) terminal tools, both executables and libraries.

I first posted this on Oct 22th, 2015. And it is renewed on Jun 9th, 2017.

MAS

Mac App Store command line interface.

It is designed for scripting and automation. However, I really like and need this awesome tool to update with terminal instead of the AppStore GUI, which fails frequently in China mainland.

$ mas list

724472954 Manico (2.3.2)
623795237 Ulysses (2.8.2)
411246225 Caffeine (1.1.1)
409203825 Numbers (4.1.1)
836500024 WeChat (2.2.8)
928871589 Noizio (1.5)
409201541 Pages (6.1.1)
784801555 Microsoft OneNote (15.34)
409183694 Keynote (7.1.1)
410628904 Wunderlist (3.4.6)
973134470 Be Focused (1.6.2)
$ mas upgrade

Upgrading 1 outdated application:
WeChat (2.2.8)
==> Downloading WeChat
==> Installed WeChat

Terminal Table

Terminal Table is a fast and simple, yet feature rich ASCII table generator written in Ruby.

Simple but useful gem for Ruby. terminal-table is really powerful and easy-to-use to build and display tables in console based GUI.

This is the official example of terminal-table:

rows = []
rows << ['One', 1]
rows << ['Two', 2]
rows << ['Three', 3]
table = Terminal::Table.new :rows => rows

# > puts table
#
# +-------+---+
# | One   | 1 |
# | Two   | 2 |
# | Three | 3 |
# +-------+---+

m-cli

Swiss Army Knife for macOS! By m-cli, it enables you to control everything of Mac with commands.

$ m 

  Swiss Army Knife for macOS ! 


usage:  m [OPTIONS] COMMAND [help]

    OPTIONS
        --update        update m-cli to the latest version
        --uninstall     uninstall m-cli

    COMMANDS:
        help
        battery
        bluetooth
        dir
        disk
        display
        dns
        dock
        finder
        firewall
        gatekeeper
        group
        hostname
        info
        itunes
        lock
        network
        nosleep
        notification
        ntp
        printer
        restart
        safeboot
        screensaver
        service
        shutdown
        sleep
        timezone
        trash
        update
        user
        volume
        vpn
        wallpaper
        wifi
$ m battery status
Now drawing from 'AC Power'
 -InternalBattery-0 (id=3997795)	100%; charged; 0:00 remaining present: true

lock-cli

Lock your system from the command-line. Support macOS, Linux, and Windows.

$ lock

Then, your OS will be locked.

Gotty

An awesome live broadcasting tool, which output your terminal, written with Go.

Wego

Weather forecasting with ASCII GUI written in Go.

Qrcode-terminal

Generate and display QR code with Node.js.

Douban.fm

Console based Douban FM client, written in Node.js. It runs on Mac but not very stable.

ProxyChains

Socks and HTTP proxy for terminal. And we can use proxychains to boost speed of some services and get across the wall.

$ proxychains4 git push