La question est un peu old, mais bon si ça peut t'aider.
"foo" c'est juste un nom générique qu'on donne à une fonction par exemple quand on poste un morceau de code. https://fr.wikipedia.org/wiki/Varia [...] syntaxique
Dans ton cas, foo désigne le nom d'un fichier texte dans lequel la sortie de la commande sera stockée.
Prenons un exemple plus parlant :
La commande "echo" va ici écrire la valeur "je suis une valeur de sortie" dans le fichier nommé "je_suis_un_fichier_texte"
Ensuite la commande "cat" sert à afficher la valeur qui a été écrite dans le fichier
Donc "foo" et "blah" ne sont que des exemples pour simuler le comportement d'une commande classique. Et si tu n'as pas de linux sous la main, tu peux utiliser un terminal en ligne comme celui dispo sur http://bellard.org/jslinux/ pour faire des tests.