How to install Hard Fork of Bitcoin, such as Bitcoin Cash and Bitcoin Gold? Just like the title, how do I install hard fork of Bitcoin, such as Bitcoin Cash or Bitcoin Gold?

I would like to install Bitcoin Cash core in Ubuntu 16.04. It seems like there is not a single authoritative implementation according to this answer from "Install Bitcoin and Bitcoin cash".

But, I feel really confused by the name of "BitcoinABC" and "BitcoinUnlimited". 

Are they just two different command line interfaces for Bitcoin Cash like Geth and Parity when installing Ethereum? 

OR

Are they just two different ways to install Bitcoin Cash? Are they synchronizing the same blocks from bitcoin network?

I have been searching and trying to clarify things that I don't understand. 

More I search, more I feel confused. 

Does any know about this? I will be appreciated if you clarify things that you feel what I don't know about.
I agree with you, that from a marketing standpoint, the different names used by the various implementations of the Bitcoin Cash fork are confusing.

First, let's understand what a fork is. The rules about what constitutes a valid block, to be added to a blockchain, are set in the program code which miners follow. They compete to be the next to validate a transaction block and add it to the blockchain.     A fork occurs when these rules are changed by some, in a way which is incompatible with the old rules. A subset of miners starts following the new rules, and the rest of the miners keep following the old rules.  The result is that each group of miners starts building distinct chains which fork from a common ancestor chain.     So, if someone holds coins the original common ancestor chain, those coins are now valid on both forks, and can be spent once in each fork. This is because as far as one chain is concerned, spends on the other chain are not visible - they don't exist.

The main difference between original Bitcoin and Bitcoin Cash is that the Bitcoin Cash chain allows transaction blocks to be up to 8 MiB in size, instead of being limited to 1 MiB.

To install the Bitcoin Cash fork, one way is with Bitcoin ABC, "a full node implementation of the Bitcoin Cash protocol". In other words, Bitcoin ABC follows the rules of the Bitcoin Cash fork. In the Ubuntu 16 "Xenial Xerus" command line:

# git clone https://github.com/Bitcoin-ABC/bitcoin-abc.git


This clones the official Bitcoin-ABC repository into your machine. Instructions for installing all the pre-requisite pacakges needed to compile the programs will be in ~/bitcoin-abc/doc/build-unix.md; read this file and make sure your machine is ready for compilation:

# ./autogen.sh 
# ./configure
# make


Note: on a mult-core CPU machine, you may use 1.5x the number of cores to speed up compilation. For example, on a 4-core machine:

# make -j 6


Now, in the ~/bitcoin-abc/src directory, after compilation, you will have the server binary: bitcoind, the client: bitcoin-cli and another binary to create, parse, or modify transactions: bitcoin-xt. For convenience, you can copy these to a folder visible to all users, such as /usr/local/bin

sudo cp ~/bitcoin-abc/src/bitcoind /usr/local/bin
sudo cp ~/bitcoin-abc/src/bitcoin-cli /usr/local/bin
sudo cp ~/bitcoin-abc/src/bitcoin-tx /usr/local/bin


Then, as a regular user, create the .bitcoin folder

mkdir ~/.bitcoin


and create a bitcoin.conf file

vim ~/.bitcoin/bitcoin.conf

#------------------------------
server=1
daemon=1
listen=1
maxconnections=16

rpcuser=bitcoin.rpc
rpcpassword=&lt;some-secret-password&gt;
rpcport=12345
keypool=256
#-------------------------------


Then you can run the bitcoind binary.

#bitcoind


and start using it via the command line client

#bitcoin-cli getinfo

{
  "version": 160200,
  "protocolversion": 70015,
  "walletversion": 60000,
  "balance": 1.61803398,
  "blocks": 504043,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 136961411965.4142,
  "testnet": false,
  "keypoololdest": 1376702008,
  "keypoolsize": 4096,
  "unlocked_until": 0,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}