Le Terminal ne reconnait pas les commandes !

lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Ce matin encore mon terminal fonctionnait et maintenant il ne reconnait plus aucune commande! help me please !

voici une illustration:

MacBook-Pro-de-Wilson:~ demo$ ssh
-bash: ssh: command not found
MacBook-Pro-de-Wilson:~ demo$ ls
-bash: ls: command not found
MacBook-Pro-de-Wilson:~ demo$ vi
-bash: vi: command not found
MacBook-Pro-de-Wilson:~ demo$ cat
-bash: cat: command not found

Merci d'avance !!

35 réponses

  • 1
  • 2
Résumé de la discussion

Problème central: un utilisateur Mac OS X voit son terminal ne reconnaître aucune commande, ce qui pointe vers une PATH incorrecte et l’absence de /bin et /usr/bin. Des éléments de réponse préconisent d’ajuster PATH en réintroduisant /bin et /usr/bin via .profile ou .bashrc, et de vérifier que rc.common ou des scripts équivalents exportent PATH correctement. Des autres propositions suggèrent d’utiliser des commandes directes comme /bin/ls et d’ajouter export PATH=$PATH:/bin:/usr/local/bin dans .bashrc ou d’inspecter /etc/rc.common pour que le shell le lise à chaque ouverture. Enfin, des vérifications indiquent que des caractères non autorisés ou des guillemets dans PATH peuvent provenir d’un fichier de démarrage modifié et nécessiter une remise en ordre via rc.common.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Bonjour

    Les commandes que tu as données en exemple sont situées dans les répertoires /bin ou /usr/bin.
    Or ton Mac ne connait pas ces répertoires puisque comme tu le constates, la réponse à la commande echo $PATH cite pleins de répertoires sauf ces 2 là. Tu dois donc avoir un fichier .profile qui annule la définition de $PATH.

    As-tu modifié un fichier de ce genre ?
    Il faut toujours veiller à rajouter l'ancienne valeur du PATH au dossier que tu veux y rajouter:
    PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
    export PATH
    2
  2. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Bonjour

    Et si tu tapes la commande ci dessous, quelle est la réponse de ton Mac ?

    echo $PATH


    Ritchi
    0
  3. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour Ritchi,

    voici ce que je recois:

    MacBook-Pro-de-Wilson:~ demo$ echo $PATH
    /opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:"/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:??

    Merci,

    Wilson
    0
  4. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    D'accord je vois, par contre je ne sais pas comment j'aurais pu modifier ce genre de fichier.

    Donc je dois taper dans le terminal cette commande pour récupérer mon terminal comme neuf :

    PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
    export PATH

    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    "Donc je dois taper dans le terminal cette commande pour récupérer mon terminal comme neuf"
    Pas tout à fait. Cette ligne de commande doit être insérée dans un fichier qui est chargé à chaque lancement du Terminal et en principe ce fichier est /etc/rc.common. Vérifions que ce fichier est toujours correct:
    Lance la commande suivante:
    grep PATH /etc/rc.common

    Elle devrait donner la même réponse que celle-ci:
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH


    Ritchi
    0
  7. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    La commande grep n'est pas reconnue non plus:

    Last login: Thu Mar 24 20:08:04 on ttys000
    -bash: grep: command not found
    new-host-2:~ demo$ grep PATH /etc/rc.common
    -bash: grep: command not found

    Wilson
    0
  8. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Effectivement...
    Je te propose de la modifier ainsi:
    /usr/bin/grep PATH /etc/rc.common


    Ritchi
    0
  9. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    La commande /usr/bin/grep PATH /etc/rc.common me donne comme résultat:

    new-host-2:~ demo$ /usr/bin/grep PATH /etc/rc.common
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH

    ps: je ne sais pas si c'est normal mais tu auras remarqué que le terminal n'est plus logué en tant que "macbook-pro-de-wilson" mais en "new-host-2"

    Wilson
    0
  10. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Au moins ce fichier rc.common est OK.
    Ce qui me chagrine dans ta réponse ici, c'est les caractères anormaux qui apparaissent dans le PATH (je les mets en gras):
    MacBook-Pro-de-Wilson:~ demo$ echo $PATH
    /opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:"/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:?? 

    Les guillemets " et les ?? ne sont pas autorisés dans ce genre de variable d'environnement. De plus "/opt/local/bin" n'est pas de base dans le path donc quelqu'un l'a bien modifiée
    D'où questions:
    1-Est-ce une recopie manuelle ou est-ce un copié/collé du résultat affiché à l'écran ?
    2-Qui d'autre à accès à ce mac?

    Ritchi
    0
  11. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Pour te répondre:

    1- c'est bien un copié/collé que je fais. En refaisant la commande: echo $PATH il y a bien la présence des guillements " et des ??

    2- C'est mon mac je suis l'unique personne qui y a accès.

    Merci encore
    0
  12. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Bonjour,

    Le but des opérations qui suivent est de rajouter la ligne de commande suivante au fichier caché nommé .bashrc:
    export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH


    Selon que ce fichier existe déjà ou non, il faudra soit le modifier, soit le créer de toute pièce.

    Etape 1: Existe-t-il ou pas?
    Lancer la commande suivante:
    /bin/ls -al | /usr/bin/grep bashrc

    Deux possibilités:
    Cas 1- la commande ne répond rien: le fichier n'existe pas, on va le créer
    Cas 2- la commande répond un truc style (voir ci dessous) ce qui signifie que le fichier existe déjà et qu'il va juste falloir le modifier:
     -rw-r--r--    1 imac1250  staff       25 28 mar 22:36 .bashrc


    Cas 1: Le fichier n'existe pas. On va le créer.
    a- Lancer TextEdit, ouvrir ses préférences et dans l'onglet "Nouveau Document", cocher "Format Texte" puis fermer la fenêtre des préférences.
    b- Menu "Fichier -> Nouveau"
    c- Dans le nouveau fichier taper la ligne suivante:
    export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH

    d- Menu "Fichier -> Enregistrer".
    e- Cliquer sur l'icone "Petite Maison" afin d'aller à la racine de ton compte.
    f- Nommer le fichier bashrc.txt et cliquer sur "Enregistrer".
    g- Menu "TextEdit -> Quitter TextEdit"
    h- Dans le Terminal, lancer la commande suivante:
    /bin/mv bashrc.txt  .bashrc

    i- Relancer l'application Terminal.
    j- Vérifier que les commandes qui ne marchaient pas sont à nouveau OK.

    Cas 2: Le fichier existe déjà. On va le modifier pour ajouter notre ligne de commande.
    a- Dans le Terminal, lancer la commande suivante:
    /bin/mv .bashrc  bashrc.txt

    b- Lancer TextEdit, ouvrir ses préférences et dans l'onglet "Nouveau Document", cocher "Format Texte" puis fermer la fenêtre des préférences.
    c- Menu "Fichier -> Ouvrir"
    d- Cliquer sur l'icone "Petite Maison" afin d'aller à la racine de ton compte.
    e- Choisir le fichier bashrc.txt et cliquer sur "Ouvrir"
    f- Ajouter la ligne suivante en fin de fichier:
    export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH

    g- Menu "Fichier -> Enregistrer"
    h- Menu "TextEdit -> Quitter TextEdit"
    i- Dans le Terminal, lancer la commande suivante:
    /bin/mv bashrc.txt  .bashrc

    j- Relancer l'application Terminal.
    k- Vérifier que les commandes qui ne marchaient pas sont à nouveau OK.

    Ritchi
    0
  13. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    la commande ls et mv non se même pas connues.. Malgré que j'ai bien crée le fichier bashrc.rtf

    MacBook-Pro-de-Wilson:~ demo$ ls -al | grep bashrc
    -bash: ls: command not found
    -bash: grep: command not found
    MacBook-Pro-de-Wilson:~ demo$ mv .bashrc bashrc
    -bash: mv: command not found

    Wilson
    0
  14. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    OK je vais modifier mes explications car j'ai oublié que rien ne marchait....
    J'ai mis en gras ce qui a été modifié: principalement j'ai ajouté /bin/ ou /usr/bin/ devant les commandes ls, mv et grep utilisées.
    0
  15. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Très bien.

    Je te remercie.

    Wilson
    0
  16. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour Ritchi,

    Je viens de taper les commandes:

    MacBook-Pro-de-Wilson:~ demo$ export PATH=$PATH:/bin:/usr/local/bin
    MacBook-Pro-de-Wilson:~ demo$ /bin/ls

    Puis j'ai récupérer uniquement la commande ls . Par contre lorsque je ferme le terminal, je dois recommencer la commande.

    Wilson
    0
    1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
       
      D'où le fichier que je te propose de créer: il sera lu à chaque ouverture du Terminal.

      Question: as-tu réussi à créer ce fameux fichier .bashrc à la racine de ton compte ?
      Important: le nom du fichier est primordial et le point qui est devant aussi: .bashrc
      0
  17. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    En reprenant ton dernier post voici se que j'obtiens (en ayant bien créer le fichier bashrc.rtf):

    MacBook-Pro-de-Wilson:~ demo$ /bin/ls -al | /usr/bin/grep bashrc
    -rw-r--r--@   1 demo  staff         375 31 mar 11:16 bashrc.rtf
    MacBook-Pro-de-Wilson:~ demo$ /bin/mv .bashrc bashrc
    mv: rename .bashrc to bashrc: No such file or directory
    


    Ce n'est pas un problème par rapport au nom du fichier avec son extension ?
    0
    1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
       
      - "Tout à fait Thierry!!!"
      - "Je dirais même mieux, jean mimi: c'est bien un problème d'extension voire de lecture !"

      Redevenons sérieux:
      Quand tu as lancé la commande:
      "MacBook-Pro-de-Wilson:~ demo$ /bin/ls -al | /usr/bin/grep bashrc"
      Tu as bien une réponse, mais pas celle que j'attendais puisqu'entre-temps tu as créé le fichier bashrc.rtf.

      SI ce fichier bashrc.rtf que tu as créé est correct (tu as ajouté la ligne "export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH",
      ALORS, voici ce que tu dois faire:
      /bin/mv bashrc.rtf  .bashrc
      0
  18. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    c'est fait! mais toujours pas de commande sauf ls cat et quelques autres encore.

    Je n'arrive pas à comprendre se qu'il se passe !

    Sorry pour le temps que tu passes pour m'aider !

    C'est surtout les commandes types ssh login su etc.. dont j'ai besoin !
    0
  19. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    Tu as peut-être fait une erreur dans le fichier .bashrc. Vérifions cela:
    Tape les 2 commandes suivantes et fait moi un copier/coller de la réponse:
    cd
    /usr/bin/more .bashrc

    Puis tape la commande suivante et fait moi un copier/coller de la réponse:
    /usr/bin/env
    0
  20. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    voici se que je reçois:

    MacBook-Pro-de-Wilson:~ demo$ cd /usr/bin/more .bashrc
    -bash: cd: /usr/bin/more: Not a directory
    MacBook-Pro-de-Wilson:~ demo$ /user/bin/env
    -bash: /user/bin/env: No such file or directory
    0
    1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
       
      Il y deux commandes : cd et /usr/bin/more .bashrc
      alors ... il faut faire ENTER entre chaque.
      0
  21. lonnie77 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
     
    a oui désolé alors sa me donne:

    MacBook-Pro-de-Wilson:~ demo$ cd
    MacBook-Pro-de-Wilson:~ demo$ /usr/bin/more .bashrc
    {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
    {\fonttbl\f0\fmodern\fcharset0 CourierNewPSMT;}
    {\colortbl;\red255\green255\blue255;\red38\green51\blue68;}
    \paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh8400\viewkind0
    \deftab720
    \pard\pardeftab720\sl360\ql\qnatural
    
    \f0\fs24 \cf2 export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH}export PATH=$PATH:Users/demo
    0
  • 1
  • 2