Que signifie cette commande

mimou -  
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,ls*.sh/grep io >result.txt &

4 réponses

jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   306
 
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   Statut Membre Dernière intervention   265
 
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
Luna
 
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   Statut Membre Dernière intervention   306
 
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
mimou
 
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   Statut Contributeur Dernière intervention   199
 
installe linux pour faire tes devoirs et exo, ça aurait été tout seul..
0