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 19/08/2010, à 15:50

NightDragon

[RESOLU]"cd"

Bonjour,
Je suis nouveau sur ubuntu, et sachant que la console est l'objet clé de linux, j'ai donc appris quelques commande, mais une commande me résiste. "cd".
Je ne comprend pas comment cette commande s'utilise ni à quoi elle sert. Par exemple je veut travailler sur un projet de site web. /var/www/.
Je dois donc faire : cd /var/www/ Mais à quoi bon faire cette commande si pour faire des modification ( exemple créé un dossier ) je dois faire :
"sudo mkdir /var/www/dir".

Merci d'avance à ceux qui pourront m'expliquer cette commande plus précisement et répondre à mes question.

Dernière modification par NightDragon (Le 19/08/2010, à 17:02)


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#2 Le 19/08/2010, à 15:55

iuchiban

Re : [RESOLU]"cd"

salut,

cd signifie change directory

Ensuite, le répertoire /var/www appartient à root. Tu as le droit de te déplacer dedans via cd car tu peux lire le contenu du répertoire (droits rw-r----- par défaut il me semble) mais si tu veux créer un répertoire à l'intérieur, donc le modifier, tu n'as pas le droit et tu dois donc utiliser sudo pour passer temporairement en root.

Bon courage, accroche toi, ça vaut le coup smile Et si tu as d'autres soucis, hésite pas à repasser ici wink


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#3 Le 19/08/2010, à 15:56

NightDragon

Re : [RESOLU]"cd"

Je ne comprend toujours pas ce que je peux faire de plus avec cd que simplement...
Merci


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#4 Le 19/08/2010, à 16:00

serged

Re : [RESOLU]"cd"

Une bonne idée est de créer un lien symbolique de /var/www vers ton répertoire de travail (t'appartenant) :

cd /var
sudo rmdir www
sudo ln -s /home/toto/www www

(si ton login est toto)
Ensuite tu travailles dans le répertoire à toi www avec tes droits.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#5 Le 19/08/2010, à 16:06

NightDragon

Re : [RESOLU]"cd"

Si on fait ligne par ligne sa donne :
1) on se positionne dans le dossier var
2) on supprime le dossier www oO ?
3) on créé un lien /home/julien/www qui est redirigé vers www ( de var )
? Si c'est sa j'ai compris big_smile
Merci


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#6 Le 19/08/2010, à 16:25

iuchiban

Re : [RESOLU]"cd"

NightDragon a écrit :

Si on fait ligne par ligne sa donne :
1) on se positionne dans le dossier var
2) on supprime le dossier www oO ?
3) on créé un lien /home/julien/www qui est redirigé vers www ( de var )
? Si c'est sa j'ai compris big_smile
Merci

C'est tout à fait ça.

Vu que tu as tous les droits sur le dossier /home/julien/www, tu peux modifier les fichiers, créer des répertoires, etc. et c'est mis en place dans ton Apache directement.


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#7 Le 19/08/2010, à 16:56

NightDragon

Re : [RESOLU]"cd"

Et je peux donc faire mon site /home/julien/www/ et sa fait automatiquement le lien ? Trop bien, merci les gars.


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#8 Le 19/08/2010, à 16:59

NightDragon

Re : [RESOLU]"cd"

Ca ne marche pas ='(, Mon dossier www C'est transformer en fichier dans var/
Et il n'y a rien dans Julien. Je fais quoi ?


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#9 Le 19/08/2010, à 17:02

NightDragon

Re : [RESOLU]"cd"

Autant pour moi, je n'avais pas créé le dossier www dans Julien. Merci beaucoup. Sa marche parfait et j'ai presque compris le "cd" Meme si je n'en voit pas l'utiliter extreme ^^.


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#10 Le 20/08/2010, à 07:32

iuchiban

Re : [RESOLU]"cd"

Ben la commande cd te sert à te déplacer dans les répertoires quand tu es en ligne de commande c'est tout et c'est déjà beaucoup. Heureusement que cette commande existe roll


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#11 Le 20/08/2010, à 07:57

serged

Re : [RESOLU]"cd"

iuchiban a écrit :

Ben la commande cd te sert à te déplacer dans les répertoires quand tu es en ligne de commande c'est tout et c'est déjà beaucoup. Heureusement que cette commande existe roll

Remarquons que cette commande existe aussi sous DOS et Windows, avec les mêmes fonctions (sauf que "cd" tout court t'envoie dans ta home directory sous Linux, alors que la version Windows affiche le répertoire courant).


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#12 Le 20/08/2010, à 12:05

NightDragon

Re : [RESOLU]"cd"

Oui j'ai fais mes test après mon message, et j'ai oublier de l'éditer, j'ai parfaitement compris comment faire et pourquoi et que cd tout court annulait le cd big_smile. Bye et encore Merci.


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#13 Le 20/08/2010, à 13:00

ehmicky

Re : [RESOLU]"cd"

En complément pour les réponses, je dirais que le répertoire courant est l'équivalent du répertoire dans lequel tu te trouves quand tu ouvres un navigateur de fichiers classique. cd te sert à modifier ce répertoire courant, et donc à te déplacer dans ton système de fichier en console comme tu le ferais dans un navigateur de fichiers classique.

En console, le répertoire courant n'a qu'une seule utilité. Pour la comprendre, il faut savoir qu'il y a deux manière de spécifier des chemins de fichiers :
  - avec un chemin absolu, c'est-à-dire en commençant le chemin par un slash (le répertoire root), par exemple "/home/user/Bureau". Dans ce cas, peut importe le répertoire courant.
  - avec un chemin relatif, c'est-à-dire en ne commençant pas le chemin par un slash, par exemple "Bureau". Dans ce cas, le répertoire Bureau sera recherché dans le répertoire courant, ce qui signifie que "Bureau" ciblera "REPERTOIRE_COURANT/Bureau"

cd a pour but de changer le répertoire courant. Son unique but est de modifier la manière de traiter les chemins relatifs. Ainsi :
  - si tu fais "cd /home/user/", "ls Bureau" effectuera ensuite en fait un "ls /home/user/Bureau"
  - si tu fais "cd /root/", "ls Bureau" effectuera ensuite en fait un "ls /root/Bureau"
Par contre, si ton script n'utilise que des chemins absolus, cd n'est d'aucune utilité.

cd est à la base une commande utilisée dans une console interactive, pas dans un script non-interactif. Elle est utilisée pour naviguer de manière pratique au sein du système de fichiers afin d'utiliser des chemins relatifs pour ne pas avoir ensuite à retaper tout le chemin absolu une fois que l'on se trouve dans un répertoire précis où l'on veut effectuer plusieurs actions.

Mais dans un script non-interactif, j'ai toujours trouvé que c'était une très mauvaise pratique que d'utiliser cd. cd peut échouer en fonction des droits d'exécution des répertoires et faire buguer le script. Sans résoudre ce problème des droits d'exécution, je trouve que c'est vraiment mieux de faire :

repertoire=/home/user/
ls $repertoire/Bureau

plutôt que :

cd /home/user/
ls Bureau

PS : "*" est un chemin relatif souvent utilisé et qui fait référence à tous les fichiers (ne commençant pas par un point) du répertoire courant. Par exemple "cat *" affichera le contenu de tous les fichiers réguliers du répertoire courant.
PPS : le répertoire courant est aussi utilisé comme argument par défaut pour certaines commandes, comme "ls"
PPPS : dans ta question de départ, tu vois donc que cd était inutile car mkdir utilise un chemin absolu, soit /var/www/dir

Dernière modification par ehmicky (Le 20/08/2010, à 13:04)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#14 Le 20/08/2010, à 13:15

NightDragon

Re : [RESOLU]"cd"

Merci ehmicky.
Merci pour tout ça, j'ai bien compris ^^. Mais je n'ai pas encore compris, comment faire un script, comment l'utiliser, comme s'appelle l'extension du fichier etc.
Merci.


Why drink and drive when you can smoke and fly ? ... Non mais franchement.

Hors ligne

#15 Le 20/08/2010, à 13:52

ehmicky

Re : [RESOLU]"cd"

Poste un autre topic sur le sujet "Comment créer un script Bash ?" car c'est une autre question, et on te répondra tout de suite ^^


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne