Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/05/2012, à 17:22

Lejimi

[résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Bonjour,

je me suis empêtré dans le terminal avec une ligne qui ne voulait pas fermé : chaque appui sur entré m'affichait '>' à la place du prompt. Comme un c... j'ai fait mon bourrin en retapant plusieurs fois ma commande (sudo cd 'un/chemin/vers/un/dossier') A la réflexion je pense qu'il manquait le guillemet et que j'ai du entrer toutes mes lignes en une fois quand j'ai fini par fermer l'apostrophe.

Quoiqu'il en soit, depuis chaque fois que je tape sudo cd 'un/chemin/quelconque' j'obtiens en réponse :

sudo: cd: commande introuvable

Mais qu'est-ce donc que j'ai fait de travers et comment réparer ça ? Je ne pense pas que ce soit bien grave, mais je n'arrive pas à trouver d'indices...


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#2 Le 13/05/2012, à 17:30

Gloorian

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Je pense qu'il est impossible de faire sudo cd. En tout cas, ça m'a toujours sorti cette erreur chez moi.

Hors ligne

#3 Le 13/05/2012, à 17:37

ljere

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

pareil

┌─( ljere ) - ( 3.2.0-24-generic ) - ( ~ )
└─> sudo cd /etc/
sudo: unable to resolve host ljere-K7S41GX
[sudo] password for ljere: 
sudo: cd: command not found
┌─( ljere ) - ( 3.2.0-24-generic ) - ( ~ )
└─> 

ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#4 Le 13/05/2012, à 17:40

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Ah bien oui ! Ça fait pareil chez moi (j'ai fait la bêtise sur une bécane qui n'est pas la mienne lol) !

Au début je faisait un cd tout simple, mais le répertoire visé appartenait à un autre utilisateur et j'avais un message comme quoi il était inaccessible. D'où mon recours au sudo.

Par simple curiosité, pourquoi 'sudo cd' provoque-t-il une erreur ?


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#5 Le 13/05/2012, à 17:48

ljere

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

c'est une bonne question je pense que c'est parce que cd n'a pas besoin de droits super utilisateur pour fonctionner


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#6 Le 13/05/2012, à 17:54

Gloorian

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Non, je crois que c'est parce que cd n'est pas un binaire mais intégré au shell. Sudo ne trouve rien. Enfin, je crois. smile

Hors ligne

#7 Le 13/05/2012, à 17:56

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Pourtant si je suis dans mon ~ sudo ls marche bien alors que le sudo est superflu...

J'ai trouvé cette explication en anglais, mais pour moi ça reste un peu de l'hébreu :

http://www.linuxquestions.org a écrit :

Precisely because "cd" is a shell builtin and not a binary, and sudo is not bash (nor even a shell). So sudo can't find any "cd" command. That's how it works, so you'll need to find some way around using "sudo cd", like by using complete paths in your commands or just doing "sudo bash".


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#8 Le 13/05/2012, à 18:02

ljere

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

c'est exactement ce que dit Gloorian


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#9 Le 13/05/2012, à 18:21

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Oui, effectivement, j'avais pas trop fait gaffe, mais en fait je ne comprend la différence...

Un binaire c'est un programme. sudo est rangé dans /usr/bin  alors que ls, rm, cat et leurs amis sont dans /bin tout court. Quand on regarde leurs propriétés, ils sont indiqués comme "application/x-exécutable"

Mais qu'entends-tu exactement Gloorian par "cd est intégré au shell" ? Que c'est une fonction du programme shell et que le programme sudo est incapable d'appeler cette fonction d'un autre programme ? (Pourtant les programmes savent s'appeler les un les autres en général ?)


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#10 Le 13/05/2012, à 18:36

Gloorian

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Si tu regardes dans /bin, il y a ls mais pas cd. Je crois que cd est l'une des seules commandes qui est partie intégrante du shell. Sudo appelle des executables. Cd n'en est pas un smile Tu remarqueras que which cd ne renvoi rien smile

Hors ligne

#11 Le 13/05/2012, à 19:00

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Oui, j'avais regardé dans /bin et j'avais vu que cd n'y était pas. cd est une fonction de shell alors ?


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#12 Le 13/05/2012, à 19:04

Gloorian

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Oui smile Alors que les autres sont crées à partir de Bash, cd "est" bash smile Après, je peux me tromper, mais à ce que j'ai lu, ça me paraît le plus logique smile

Hors ligne

#13 Le 13/05/2012, à 19:09

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

En gros le programme sudo est incapable d'appeler une fonction du programme bash alors.

Pourtant d'habitude les programmes passent leurs temps à s'appeler les un les autres tels de viles péronnelles avant une sortie en "teuboî". Sudo n'a plus de forfait quoi tongue


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#14 Le 13/05/2012, à 20:32

pingouinux

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

Bonsoir,
Je pense que sudo exécute la commande dans un sous-shell. Même si cd était pris en compte, on reviendrait dans le répertoire de départ à la fin de la commande.

Hors ligne

#15 Le 14/05/2012, à 07:48

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

En fait à la base je voulais faire un cp depuis un dossier dont je suis propriétaire vers un dossier dont je ne suis pas propriétaire. La bonne démarche serait celle-ci :

sudo cp '/chemin/complet/fichier_a_copier' '/chemin/complet'

Mais n'étant pas sûr du chemin complet du dossier de destination, je voulais avancer par bond, cd, puis ls, puis cd... Seulement parvenu au répertoires qui ne m'appartiennent pas cd me renvoyais un message d'erreur (pas les droits : normal). D'où ma tentative de

sudo cd

Bon, je n'ai rien cassé c'est toujours ça. Je voulais passer le sujet en résolu, mais je vois que quelqu'un m'a devancé : merci à lui.


Reste une question pour ma culture personnelle. Je reproduit la boulette que j'ai faite la première fois et dont j'ai cru qu'elle avait semé la zizanie :

sam@sam-bureau:~/Informatique/Essais Python$ cd 'Partie_2/ressources
> '
bash: cd: Partie_2/ressources
: Aucun fichier ou dossier de ce type

La commande s'est étendue sur deux lignes à cause de l'apostrophe que j'ai oubliée de fermer. Qu'ai-je vraiment fait. Et que signifient le signe > et les deux points après 'bash' ?


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne

#16 Le 14/05/2012, à 09:39

pingouinux

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

@ Lejimi #17

  • Quand une commande est incomplète, bash affiche le prompt $PS2 en attendant la suite

    $ echo ":$PS2:"
    :> :
  • Dans l'exemple ci-dessous, comme dans ton cas, un caractère \n apparaît à la fin du nom du fichier (\x0a en hexadécimal)

    $ mkdir 'mon_repertoire
    > '
    
    $ ls -ldb mon_rep*
    drwxr-x--- 2 user user 4096 2012-05-14 09:28 mon_repertoire\n
    
    $ cd 'mon_repertoire
    > '
    
    $ pwd
    /tmp/mon_repertoire
    
    
    $ pwd | xxd
    0000000: 2f74 6d70 2f6d 6f6e 5f72 6570 6572 746f  /tmp/mon_reperto
    0000010: 6972 650a 0a                             ire..
  • bash: signifie que c'est bash qui a détecté l'erreur

Édité : Anonymisation

Dernière modification par pingouinux (Le 23/04/2019, à 21:04)

Hors ligne

#17 Le 14/05/2012, à 09:44

Lejimi

Re : [résolu] [sudo: cd:]Fausse manoeuvre, mais laquelle

OK, je comprends un peu mieux maintenant. Merci à tous pour vos lumières !


Gloire à qui n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder ses voisins

Hors ligne