The two programs involved are toilet and lolcat.

toilet is a program that takes text as input, and turns it into fancy multi-line letters. It has different “fonts” available for this purpose; all the available fonts are stored in the /usr/share/figlet directory. Here are just some examples:

Actually, toilet also has a built-in option to colour it, but it doesn’t look very nice IMO, as the colour changes are too sudden:

lolcat is a program that takes some text, and prints the same text, but rainbow-coloured. Note that you need a terminal with 256-colour support (rather than just 16) for the desired effect. It can colour any text in rainbow:

(The wrapping at 80 characters is so that the lines don’t get longer than the terminal width. lolcat starts looking weird when they do.

And now, by combining these two, we can get fancy rainbow-coloured text!

Enjoy! :)