Forum Linux.général Petite question sur la commande mkdir

Posté par  .
Étiquettes : aucune
0
16
mai
2006
Je suis supris que le système ne puisse pas (récursivement ?) traiter une commande de la sorte :

mkdir truc/machin/chouette si le répertoire truc ET le répertoire machin ne sont pas préexistants.

Alors qu'on peut faire des choses assez complexes en ligne de commande...

Savez-vous pourquoi ?
  • # Pourquoi, non, mais comment, oui !

    Posté par  . Évalué à 6.

    As-tu consulté la page man de la commande mkdir ?
    Sur la ligne de commande, tu tapotes avec ton clavier :
    $ man mkdir
    et tu devrais avoir pleins d'infos.
    Je te conseille en particulier le paragraphe sur l'argument -p.
    Enfin, parce que je suis sympa, et que je veux t'éviter de parcourir la page de manuel, qui est 'achement longue (54 lignes quand même), voici comment faire ce que tu demandes :
    $ mkdir truc/machin/chouette

    Ca va te créer les répertoires et leurs fils, si ils n'existent pas.

    Du coup, si juste derrière la commande ci-dessus, tu tapes :
    $ mkdir truc/machin/bidule

    A partir du même point, seul le répertoire bidule sera créé.
    Voilà, j'espère avoir éclairé ta lanterne !
    • [^] # Re: Pourquoi, non, mais comment, oui !

      Posté par  . Évalué à 5.

      mea maxima culpa mais de si bonne heure mon hémisphère gauche (celui du geek documenté) n'était pas encore assez chaud pour qu'il commande à mes doigts le man mkdir qui aurait assuré mon salut !

      Merci à toi d'avoir, de si bonne heure, éclairé ma lanterne.

      Ainsi donc le

      mkdir -p truc/machin/bidule

      restera gravé dans ma mémoire à tout jamais !
  • # Euh...

    Posté par  (site web personnel) . Évalué à 2.

    Je ne suis pas sûr de comprendre ta question.

    Veux-tu dire, "comment faire pour que truc et machin soient créés s'ils n'existent pas?", dans ce cas regarde l'option -p dans la page man de mkdir.

    Ou peut-être veux-tu dire, "comment faire pour que chouette ne soit créé que si truc et machin n'existaient pas déjà". Dans ce cas, c'est probablement parce que ça ne vaut pas le coup d'intégrer cela dans mkdir quand on peut le faire avec le shell (et donc avec un script shell): mkdir truc && mkdir truc/machin && mkdir truc/machin/chouette

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.