besoin d'aide pour les commandes shell

besoin d'aide pour les commandes shell - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 05-11-2014 à 17:08:23    

Bonjour,  
 
J'ai un devoir sur la ligne de commande Linux bientôt et je faisais celui de l'année d'avant pour essayer de comprendre un peu mieux. Mais je suis confronté à pas mal de choses que je ne saisis pas.
 
 
Je vous fournis une photo de l'exo 1:
 
http://img11.hostingpics.
 
 
je ne trouve pas:
 
-la 4, on dirait une conditionnelle d'algorithmique mais sous cette forme (surtout "[-f lune]" ) je comprend rien, j'imagine que fi signifie fin.
 
-la 9, je comprend pas le sens de l'apostrophe inclinée vers la droite.
 
-la 13, ici j'ai l'impression de voir une boucle "pour" mais je comprend pas la syntaxe, "for m in" par exemple.
 
Ah aussi, je pense comprendre la 3 (on affiche le nb de mots dans le répertoire) mais je comprend pas pourquoi wc-w est pas juste après ls mais après cette barre, alors que c'était pas le cas dans la 1 et la 2.
 
 
sinon y a aussi ces questions
 
http://img11.
 
Dans l'ex2 on a reçu les réponses et je me demande juste un truc sur la dernière question:
la réponse est "Chmod a-w ddd", mais puisqu'on restreint les droits sur le dossier je me demande juste si c'est vraiment possible de la faire directement sur les fichiers.
 
Dans l'ex3 je comprend pas la seconde question.
 
 
 
J'espère ne pas demander trop, c'est assez important donc je serais vraiment reconnaissant à qui pourra m'aider au moins sur quelques trucs :[
 
Merci d'avance.


Message édité par janus7 le 07-11-2014 à 14:40:38
Reply

Marsh Posté le 05-11-2014 à 17:08:23   

Reply

Marsh Posté le 05-11-2014 à 19:24:19    


 
-la 4,  [-f lune] ---> man test tu auras la liste des conditionnement possible ... le faire a la ligne ou en indentation ne change que l affichage de la commande elle meme . et oui le fi est la fin du if
toute boucle, conditionnement, regexp etc doit tjrs etre bornee quel que soit le langage  
 
-la 9, je comprend pas le sens de l'apostrophe inclinée vers la droite.
  `commande` et l'antique facon de faire un $(commande)
 
-la 13, ici j'ai l'impression de voir une boucle "pour" mais je comprend pas la syntaxe, "for m in" par exemple.
 
pour tout element de .... faire  ,,,,,,, fin est une boucle a iteration sur le contenu d une liste .  cette methode existe dans presque tous les langages
 
 
 
Ah aussi, je pense comprendre la 3 (on affiche le nb de mots dans le répertoire) mais je comprend pas pourquoi wc-w est pas juste après ls mais après cette barre, alors que c'était pas le cas dans la 1 et la 2.  
 
le '|' est un tube  pipe donc... autrement dit la deuxieme commande interprete non pas la premiere mais son resultat
 
---------------
 
Dans l'ex2 on a reçu les réponses et je me demande juste un truc sur la dernière question:
la réponse est "Chmod a-w ddd", mais puisqu'on restreint les droits sur le dossier je me demande juste si c'est vraiment possible de la faire directement sur les fichiers.
 
c' est pas le meme besoin ducuop mais TOUT est fichier sur un unix y compris un repertoire la memoire, un materiel etc... etc...  
 
Dans l'ex3 je comprend pas la seconde question.
comme tjrs tu as la question dans la reponse et inversement ... regarde la premiere fiche  
 
 
il n y a que le texte affiche a changer....et le fait d utiliser une variable
 
-----------------------------
 
vu tes demandes tu as deja du retard sur ta formation....
je te conseil de vite booter un live-usb ou live-cd pour pratiquer....
 


---------------
Collectionner les vieux serveurs c'est chouette mais c'est lourd et ça prend de la place ;)
Reply

Marsh Posté le 05-11-2014 à 20:52:44    

Merci beaucoup de ta réponse.
Attention par contre c'est que du truc du L1 et sur une petite matière, je comprend que ça puisse sembler très simple si on s'y connait mais autrement c'est clairement moins évident.
 

Citation :

-la 4,  [-f lune] ---> man test tu auras la liste des conditionnement possible ... le faire a la ligne ou en indentation ne change que l affichage de la commande elle meme


C'est surtout sur la signification même de ce que désigne -f lune que je me posais des questions, je ne comprend toujours pas. Y aura pas une liste de la syntaxe qu'on met entre crochet dans les boucles if en ligne de commande linux? Ca a rien à voir avec l'utilisation en algo (basique et java) je trouve.
edit: ah merde c'était surement ce que tu entendais par les conditionnements possibles.
 

Citation :

`commande` et l'antique facon de faire un $(commande)


D'accord.  
Mais y a pas de variable ls du coup un echo 'ls' dans le repertoire tttt affiche rien ou la liste du répertoire?
 

Citation :

pour tout element de .... faire  ,,,,,,, fin est une boucle a iteration sur le contenu d une liste .  cette methode existe dans presque tous les langages


Pour ça aussi je trouvais ça assez différent d'en algo du coup je restais un peu perdu. Est-ce que du coup ce qui est présenté sur la feuille signifie que pour toute lettre m dans les noms des fichiers donnés (ou leur contenu?), on applique la boucle (selon le nb de fois où on rencontre cette lettre donc)? Et après on affiche juste la valeur de la variable, 0 du coup j'imagine.
 

Citation :

c' est pas le meme besoin ducuop mais TOUT est fichier sur un unix y compris un repertoire la memoire, un materiel etc... etc...


Du coup si je fais Chmod a-w ddd/fff ; Chmod a-w ddd/fff2 c'est plus long/bête/inutile mais ça marche non?

Message cité 1 fois
Message édité par janus7 le 07-11-2014 à 14:40:11
Reply

Marsh Posté le 05-11-2014 à 22:08:38    

janus7 a écrit :

Merci beaucoup de ta réponse.
Attention par contre c'est que du truc du L1 et sur une petite matière, je comprend que ça puisse sembler très simple si on s'y connait mais autrement c'est clairement moins évident.
(les infos sur le profil de ce vieux compte créé pour poster une seule fois y a longtemps étaient mises au pif, faut pas s'y fier d'ailleurs j'ai corrigé)
 

Citation :

-la 4,  [-f lune] ---> man test tu auras la liste des conditionnement possible ... le faire a la ligne ou en indentation ne change que l affichage de la commande elle meme


C'est surtout sur la signification même de ce que désigne -f lune que je me posais des questions, je ne comprend toujours pas. Y aura pas une liste de la syntaxe qu'on met entre crochet dans les boucles if en ligne de commande linux? Ca a rien à voir avec l'utilisation en algo (basique et java) je trouve.
edit: ah merde c'était surement ce que tu entendais par les conditionnements possibles.


 
man conditions :

Citation :

      -f FICHIER
              FICHIER existe et est un fichier ordinaire


 
 

janus7 a écrit :


Citation :

`commande` et l'antique facon de faire un $(commande)


D'accord.  
Mais y a pas de variable ls du coup un echo 'ls' dans le repertoire tttt affiche rien ou la liste du répertoire?


 
le fait de mettre la commande entre ce type de guillemets va d'abord éxécuter et substituer les guillemets et ce qu'ils contiennent par le résultat. donc echo `ls` si tu as les fichiers toto et tutu dans le répertoire courant deviendra echo toto tutu ce qui à l'issue de l'éxécution finale affichera les fichiers du répertoire courant ; ça revient un peu à faire un ls directement [:wade:3], l'exemple de ton exercice n'est vraiment pas une bonne illustration de l'usage de ces guillemets, après c'est peut-être fait exprès.  
en anglais ces guillemets s'appellent "backticks", si tu veux faire une recherche google pour en trouver le fonctionnement exact.
 

janus7 a écrit :


Citation :

pour tout element de .... faire  ,,,,,,, fin est une boucle a iteration sur le contenu d une liste .  cette methode existe dans presque tous les langages


Pour ça aussi je trouvais ça assez différent d'en algo du coup je restais un peu perdu. Est-ce que du coup ce qui est présenté sur la feuille signifie que pour toute lettre m dans les noms des fichiers donnés (ou leur contenu?), on applique la boucle (selon le nb de fois où on rencontre cette lettre donc)? Et après on affiche juste la valeur de la variable, 0 du coup j'imagine.


 
non pas du tout, en fait on lance la boucle une fois pour chaque élément de l'ensemble donné (donc en l'occurrence 5 fois), et à l'intérieur de la boucle on aura à disposition une variable $m qui vaudra 'fleur' lors de la première itération, puis 'herbe' à la deuxième, et ainsi de suite. Mais dans l'exemple donné on ne se sert jamais de la variable $m donc encore une fois c'est une mauvaise illustration du fonctionnement du truc.  
C'est beaucoup plus clair comme expliqué ici : http://fr.wikibooks.org/wiki/Progr [...] sh/Boucles

Reply

Marsh Posté le 05-11-2014 à 23:38:17    

Ok, ça m'a bien éclairé, je pense que je comprend mieux maintenant.
 
Merci de votre aide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed