Niveau :      
Résumé : - ; cd - ; grep -c ; grep -v ; <() ; >()

Utiliser des commandes avec des noms de fichier commencant par - (marche pour la plupart des commandes de base) :

# outils gnu
$ cmd -- -monfichier
# autres
$ cmd ./-monfichier

Utiliser stdin à la place d'un fichier dans une commande (marche pour la plupart des commandes de base (merci gnu)) :

$ cmd -

Revenir au répertoire précédent : cd -

$ cd /home && pwd
> /home
$ cd /mnt && pwd
> /mnt
$ cd - && pwd
> /home

Supprimer les lignes contenant toto :

$ grep -v toto

Compter le nombre de lignes contenant toto :

$ grep -c toto

Rediriger le résultat d'une commande vers une autre. Contrairement aux pipes, cette méthode fonctionne avec plusieurs fichiers et avec les commandes qui ne supportent pas stdin ou stdout. Et contrairement aux pipes nommés elle évite de devoir gérer les cas d'erreur et les suppressions.

Exemple pour faire un diff entre 2 fichiers distants :

$ diff <(ssh toto.net "cat fichier1") <(ssh titi.net "cat fichier2")

Exemple pour convertir une image à la volée pendant un upload :

$ convert image.jpg png:>(ssh youpi.fr "cat > image.png")