Le signe « – » n’est pas en lui-même un opérateur lorsqu’un nom de fichier est attendu, c’est plutôt une option reconnue par certains Unix et Linux. Cela écrit dans la sortie standard (stdout) ou lit dans l’entrée standard (stdin), comme par exemple tar ou cat, mais il y en a d’autre
Voici un exemple avec cat:
echo "salut" | cat -
Cela affichera:
salut
Voici un exemple avec tar:
tar -cvf - /home/starmate | ssh sauvegarde@sauvegarde.home "cat > sauvegarde.tar"
Ici tar va envoyer la création de l’archive dans la sortie standard, qui sera pipée ( | ) via SSH sur le serveur « sauvegarde.home ». Puis son affichage via cat sera redirigé dans un fichier sauvegarde.tar dans le répertoire personnel de l’utilisateur local « sauvegarde ».
Un » – » redirige donc la sortie vers stdout ou accepte une entrée de stdin, plutôt qu’un fichier.
Cette méthode est utilisé principalement lorsque l’on juge utile de manipuler des fichiers à travers des tubes.