Que signifie cette commande

Fermé
mimou - 15 mai 2009 à 20:37
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 20 mai 2009 à 21:01
Bonjour,ls*.sh/grep io >result.txt &

4 réponses

jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
15 mai 2009 à 21:58
Salut,
Elle signifie d'abord une méconnaissance de la syntaxe de la part de celui qui l'a saisi.
ls*.sh/grep io >result.txt &

Saint Taxe, priez pour nous disait un de mes profs Solaris il y a quelques années...

A mon avis, celui qui a tapé cette commande a voulu faire ceci
ls*.sh | grep io >result.txt &

Ne pas confondre / et |, sauf si on a la tête qui penche un peu de coté, ce n'est pas tout à fait pareil...
Et à ce train là, tu vas vite te retrouver avec un torticolis.

Signification :
Lister les fichier dont le nom se terminent par .sh (ls *.sh) et parmi eux, rechercher ceux qui contiennent "io" (grep io).
Envoyer le résultat dans un fichier ( > result.txt).
Le & est la cerise sur le gateau. Il te permet de demander que le traitement se fasse en background (bg), tâche de fond en français...

Quand tu auras saisi cette commande une ligne apparaitra dans le style : (ça peut varier un peu)
[1] 4900
[1] étant le process envoyé en bg et l'autre étant ton PID.
Ensuite, le prompt réapparaitra.
La commande se finira dans son coin, sans te déranger plus.
Tu n'auras qu'à surveiller avec ps qu'elle se termine, puis cueillir le résultat.

Donc l'invite de commande est libérée aussitôt. Tu n'as pas à attendre la fin du traitement pour taper une autre commande.

A bientux.
Jonas.
2
Rincevent! Messages postés 677 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 29 mai 2012 265
15 mai 2009 à 21:09
début de piste :ls liste le contenu d'un repertoire, grep trie et écrit le resultat (ici probablement dans le fichier result.txt)
mais y aura bien quelqu'un de plus compétent que moi pour te renseigner :)
1
Réponse très bien détaillée!
Juste comme indication, le caractère | permet de créer un pipe.
Un pipe entre deux processus sert à re-diriger la sortie standard du premier vers l'entrée standar du second.
1
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
20 mai 2009 à 21:01
Ben oui, j'ai manqué de précision sur ce coup là !
J'ai oublié le pipeline (ou pipe, à prononcer païpe :-) )

Le pipe permet d'envoyer le résultat d'une commande vers une autre commande...



0
merci bien pour l'explication et a propos de/ au lieu de pip c'est juste une faute de frappe:))
0
xiloa Messages postés 2094 Date d'inscription mercredi 18 juin 2008 Statut Contributeur Dernière intervention 2 décembre 2010 199
15 mai 2009 à 23:06
installe linux pour faire tes devoirs et exo, ça aurait été tout seul..
0