Bonsoir,
«
si j'ai bien compris le '<' permet de rediriger le contenu du fichier préciser a droite dans l'exécutable a gauche par exemple :
j'ai un fichier toto contenant juste '/'
je fais un : ls < toto
le contenu de toto est envoyer en entrer pour ls et pourtant ls n'affiche pas le contenu du répertoire '/'
»
donc tu n'as pas bien compris.
Cela dit, ton exemple est complétement cagneux : ls ne lit absolument rien en entrée quelque soit l'option... du coup mettre un ls à gauche d'un < c'est du vent.
«
autre exemple : ls | grep < toto
est censé correspondre a : ls | grep /
»
là je t'avoue que je ne sais pas ce que ça peut donner ce genre de commande. Conseille perso, mets un "-e" devant ton motif de recherche histoire d'éviter le mélange entre le motif et le texte dans lequel on doit faire la recherche.
Après, grep et cat sont des commandes qui, si aucun fichier n'est précisé, lisent et travaillent sur l'entrée standard. Dans ce cas, utiliser < pour envoyer le contenu d'un fichier dans l'entrée standard a du sens :
chris@tarsonis:~% grep -e One playlist.m3u
- EXTINF:0,118 - Game One
- EXTINF:0,119 - Game One Music HD HD
chris@tarsonis:~% grep -e One < playlist.m3u
- EXTINF:0,118 - Game One
- EXTINF:0,119 - Game One Music HD HD
Dans le premier cas, grep ouvre le fichier et travaille directement dessus. Dans le second cas, c'est le shell qui ouvre le fichier et envoie son contenu dans l'entrée standard de grep. grep n'ayant pas reçu de nom de fichier en argument travaille alors sur l'entrée standard.
Enfin, << ça ne sert qu'à éditer des fichiers à coup de cat à ma connaissance. Tu peux zapper ça, ça ne t'apportera pas grand chose à mon avis.