IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Au sujet du "shell"


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut Au sujet du "shell"
    Bonjour a vous,
    Voila je me demandais ce qui se passait avant l'exécution d'une commande dans le shell...

    Par exemple pour la commande ls ou cat fichier.txt que fait notre ami??

    Merci pour vos réponses

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    En deux mots, un compilateur... Ca compile .

    Plus précisément, il faut savoir qu'un ordinateur, c'est une bête encore plus bête que mon chien, qui ne comprend que deux chose: le 1 et le 0 (le courent passe... ou non).

    L'astuce, c'est que si l'on devait n'utiliser que des 1 et des 0 pour programmer, on n'en sortirait pas (bien que ce fut le cas "à l'époque des dinosaures" )...

    On a donc créer des langages "proches du langage humain", tels que le C ou le C++, qui permettent à toute personne connaissant la "syntaxe" ( AKA la grammaire et l'orthographe) du langage de le comprendre "plus facilement" pour nous faciliter la vie.

    Le compilateur va servir de "traducteur" de manière à faire qu'un langage "facilement compréhensible" par l'homme puisse être compris par l'ordinateur

    Si tu veux plus de renseignements sur ce qu'il fait réellement, n'hésite pas à demander
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut
    Merci pour ta réponse koala01

    Mais ca ne réponds pas tout a fait a ma question
    En fait je voulais savoir ce que faisait le compilateur ou plutôt le shell

    lorsqu'on entrait une commande ls ou encore cat fichier.txt

    Désolé pour mon explication approximative

    merci encore

    edit: Du coup ca doit plus etre le bon forum

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Un "shell", ce n'est qu'un "interpréteur de commande"...

    L'idée est qu'il permet à l'utilisateur d'introduire ce qu'il veut, puis qu'il cherche les commandes correspondantes (en fait de petits programmes) qu'il appelle en leur fournissant les paramètres adéquats.

    Ce n'est rien, je le renomme, et je le change de section... la section linux sera plus adaptée pour te fournir une réponse correcte
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    De ce que je sais, un shell c'est juste un mode d'interaction "sympa" avec l'utilisateur. En particulier, il permet de taper ce qu'on va appeler des commandes. Il y a au moins 2 types de commandes : les commandes du shell et les commandes systèmes :
    - Les commandes shell sont des mots-clés qui ne sont reconnus (a priori) que par le shell. lorsque le shell rencontre un de ces mots-clés, il va faire une série de traitement qui lui est propre. C'est le cas de la commande cd qui n'est effectivement qu'une commande shell (fallait le savoir !).
    - Les commandes systèmes qui sont en fait des vrais programmes correspondant à un fichier du système indiqué comme exécutable. Pour exécuter une telle commande, le shell invoque une primitive système. Après, qu'est-ce qu'il se passe à l'appel de la primitive, j'en sais rien du tout.

    Less shells implémentent un mécanisme de substitution ($nom sera remplacé par une certaine valeur), ce qui permet d'utiliser des variables (d'environnement ou autre). Donc, quand tu tapes une commande shell complexe, la commande est lue telle quelle pour construire une sorte d'arbre et savoir ainsi l'ordre des commandes à passer. Les variables sont ensuite substituées par leur valeur et les commandes sont exécutées dans l'ordre.

    CECI EST MA PROPRE COMPREHENSION DU BAZARRE, ELABOREE SUITE A MON EXPERIENCE DES SYSTEMES UNIX ET DE LA PROGRAMMATION. En gros je ne prétend en aucun cas détenir la vraie vérité vraie

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut
    Merci pour ta reponse

    Mais que se passe t il, avant l'execution du code de la commande ls par exemple...??? lorsqu'elle est tapé dans un shell...

    il verifie la commande? lance la commande? affiche le resultat? il fait d'autres verifications?

    merci pour votre aide

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo