Ist mkdir -p völlig sicher, wenn das Erstellen eines Ordners bereits vorhanden ist


14

Angenommen, ich habe einen Ordner:

./folder/

Darin befinden sich viele Dateien und sogar Unterverzeichnisse.

Wenn ich ausführe:

mkdir -p folder

Ich werde keine Fehler sehen, auch keine Warnungen. Möchten Sie nur bestätigen, ob aufgrund dieses Befehls etwas verloren gegangen ist oder geändert wurde?


2
Die Hilfe von mkdir besagt, dass die Verzeichnisse nur erstellt werden, wenn sie nicht vorhanden sind. Dies impliziert für mich, dass nichts getan wird, wenn das Verzeichnis existiert.
Marco

Antworten:


22

mkdir -p würde Ihnen keine Fehlermeldung geben, wenn das Verzeichnis bereits vorhanden ist und sich der Inhalt für das Verzeichnis nicht ändert.

Manuelle Eingabe für mkdir


1
Diese Antwort scheint nicht richtig zu sein. mkdir gibt in der Tat einen Fehler aus, wenn das Verzeichnis existiert, sofern nicht das Flag -p verwendet wird.
Aaron Cicali

irrtümlicherweise könnten Sie nach dem Code wie diesem if(err.code == 'EEXIST')suchen. Diese Bedingung wird erfüllt, wenn das Verzeichnis bereits vorhanden ist.
user403173

12

Ein tragbares Skript wird auf POSIX verlassen, die von sagt mkdir‚s -pOption:

Jeder dir- Operand, der ein vorhandenes Verzeichnis benennt, wird ohne Fehler ignoriert.

und wenn keine Fehler gemeldet wurden, hat die -pOption ihren Job erledigt:

Erstellen Sie fehlende Zwischenkomponenten für Pfadnamen.


4

mkdir wird Ihnen einen Fehler melden, wenn das Verzeichnis bereits existiert.

mkdir -p gibt KEINEN Fehler aus, wenn das Verzeichnis bereits existiert. Auch das Verzeichnis bleibt unangetastet, dh der Inhalt bleibt unverändert erhalten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.