https://www.levenez.com/unix/unix_a4.pdf