$ cat fichier.txt
ça te renvoie le contenu du fichier
$ head -n 3
ça renvoie les 3 premières lignes des données reçues.
En temps normal, tu précises à head d'aller voir dans un fichier :
$ head -n 3 fichier.txt
Mais tu peux aussi vouloir réutiliser le résultat d'une autre commande. Pour ça, tu utilises un "|" :
$ cat fichier.txt | head -n 3
Note que les commandes :
$ cat fichier.txt | head -n 3
et
$ head -n 3 fichier.txt
font la même chose.
Il y a en revanche des cas où on ne peut pas se passer du "|", par exemple quand on veut le debut du "dmesg" :
$ dmesg | head -n 20