Go to file
William Melody 94ca8bfb57 Make `sed` operations in `remove` only match exact column matches.
In order to make editing more precise, sed regular expressions only
match exact occurrences of the search string within each entry column.

In order to properly handle tab and space separators in a portable
manner, a set of global variables are included that provide strings
of those characters.
2015-06-28 22:09:46 -07:00
LICENSE Add license 2015-03-18 18:39:22 -07:00
Makefile Add basic Makefile 2015-05-20 16:46:02 -07:00
Readme.md Add large ascii text of name to Readme 2015-05-20 20:31:05 -07:00
hosts Make `sed` operations in `remove` only match exact column matches. 2015-06-28 22:09:46 -07:00
package.json Bump version to 1.4.3 2015-06-28 22:08:29 -07:00

Readme.md

    __               __
   / /_  ____  _____/ /______
  / __ \/ __ \/ ___/ __/ ___/
 / / / / /_/ (__  ) /_(__  )
/_/ /_/\____/____/\__/____/

Hosts

A command line program with shortcuts for managing hosts file entries.

Installation

Homebrew

To install with Homebrew:

brew install alphabetum/taps/hosts

bpkg

To install with bpkg:

bpkg install alphabetum/hosts

Manual

To install manually, simply add the hosts script to your $PATH. If you already have a ~/bin directory, you can use the following command:

curl -L https://raw.github.com/alphabetum/hosts/master/hosts \
  -o ~/bin/hosts && chmod +x ~/bin/hosts

Usage

Usage:
  hosts
  hosts add <ip> <hostname> [comment]
  hosts remove ( <ip> | <hostname> | <search string> ) [--force]
  hosts list [enabled | disabled | <search string>]
  hosts show ( <ip> | <hostname> | <search string> )
  hosts disable ( <ip> | <hostname> | <search string> )
  hosts disabled
  hosts enable ( <ip> | <hostname> | <search string> )
  hosts enabled
  hosts edit
  hosts file

For full usage, run:

hosts help

For help with a particular command, try:

hosts help <command name>

Commands

hosts add <ip> <hostname> [comment]

Add a given IP address and hostname pair, along with an optional comment.

hosts remove ( <ip> | <hostname> | <search string> ) [--force]

Remove one or more records based on a given IP address, hostname, or search string. When the --force option is used, the confirmation prompt is supressed.

hosts list [enabled | disabled | <search string>]

List the existing IP / hostname pairs, optionally limited to a specified state. When provided with a seach string, all matching enabled records will be printed.

hosts show ( <ip> | <hostname> | <search string> )

Print entries matching a given IP address, hostname, or search string.

hosts disable ( <ip> | <hostname> | <search string> )

Disable one or more records based on a given ip address, hostname, or search string.

hosts disabled

List all disabled records. This is an alias for hosts list disabled.

hosts enable ( <ip> | <hostname> | <search string> )

Enable one or more disabled records based on a given ip address, hostname, or search string.

hosts enabled

List all enabled records. This is an alias for hosts list enabled.

hosts edit

Open the hosts file (/etc/hosts) file in your editor.

hosts file

Print the entire contents of the /etc/hosts file.

Why

Although it's easy to just edit the hosts file manually, it's nice to have a structured way to edit it and keep things a little organized.

Acknowledgements

Based on prior work by:

Original idea and interface (since changed) via:

https://github.com/macmade/host-manager