Das scheint also keine schrecklich komplizierte Frage zu sein, aber ich kann keine Antwort darauf finden. Ich bin verwirrt darüber, was die -p
Option unter Unix bewirkt. Ich habe es für eine Laboraufgabe verwendet, während ich ein Unterverzeichnis und dann ein weiteres Unterverzeichnis in diesem erstellt habe. Es sah so aus:
mkdir -p cmps012m/lab1
Dies ist in einem privaten Verzeichnis mit normalen Rechten ( rlidwka
). Oh, und würde es jemandem etwas ausmachen, eine kleine Erklärung zu geben, was rlidwka
bedeutet? Ich bin kein absoluter Neuling in Unix, aber ich bin nicht wirklich vertraut damit, was dies bedeutet. Hoffentlich ist das keine allzu vage Frage.
unix
command-line
command-line-arguments
directory-structure
user3476866
quelle
quelle
man mkdir
wird Ihre Frage beantworten. Was "rlidwka" betrifft, habe ich keine Ahnung; Sie müssen uns mehr Kontext geben.Antworten:
Der Man - Pages ist die beste Quelle für Informationen , die Sie finden können ... und ist auf Knopfdruck :
man mkdir
ergibt dies über-p
Schalter:Anwendungsfallbeispiel: Angenommen, ich möchte Verzeichnisse erstellen,
hello/goodbye
aber es gibt keine:-p
beide erstellt,hello
undgoodbye
Dies bedeutet, dass der Befehl alle zur Erfüllung Ihrer Anforderung erforderlichen Verzeichnisse erstellt und keinen Fehler zurückgibt, falls dieses Verzeichnis vorhanden ist .
Über
rlidwka
, Google hat ein sehr gutes Gedächtnis für Akronyme :). Meine Suche ergab dies zum Beispiel: http://www.cs.cmu.edu/~help/afs/afs_acls.htmlDaher
rlidwka
bedeutet: Alle Berechtigungen auf .Wie @KeithThompson in den Kommentaren hervorhob, ist es erwähnenswert, dass nicht alle Unix-Systeme ACL unterstützen. Wahrscheinlich
rlidwka
trifft das Konzept hier nicht zu.quelle
rlidwka
kann dies sinnvoll sein oder auch nicht.-p|--parent
wird verwendet, wenn Sie versuchen, ein Verzeichnis mittop-down
Ansatz zu erstellen . Dadurch wird das übergeordnete Verzeichnis, dann das untergeordnete Verzeichnis usw. erstellt, wenn keines vorhanden ist.Darüber
rlidwka
bedeutet, vollständigen oder administrativen Zugriff zu gewähren. Fand es hier https://itservices.stanford.edu/service/afs/intro/permissions/unix .quelle
mkdir [-switch] Ordnername
-p
ist ein Schalter, der optional ist. Er erstellt einen Unterordner und einen übergeordneten Ordner, auch wenn der übergeordnete Ordner nicht vorhanden ist.Von der Manpage:
Beispiel:
Dadurch werden Unterordnersitzungen, Ansichten und Cache innerhalb des Framework-Ordners erstellt, unabhängig davon, ob 'Framework' früher verfügbar war oder nicht.
quelle
Beachten Sie, dass dies
-p
ein Argument für denmkdir
Befehl ist, nicht für Unix. Jeder Befehl kann beliebige Argumente haben.In diesem Fall bedeutet dies "Eltern", dh es
mkdir
werden ein Verzeichnis und alle Eltern erstellt, die noch nicht vorhanden sind.quelle
PFAD: Vor langer Zeit beantwortet, ist es vielleicht hilfreicher, sich -p als "Pfad" vorzustellen (leichter zu merken), da dies dazu führt, dass mkdir jeden Teil des Pfades erstellt, der noch nicht vorhanden ist.
mkdir -p / usr / bin / comm / diff / er / Zaun
Wenn / usr / bin / comm bereits vorhanden ist, verhält es sich wie folgt: mkdir / usr / bin / comm / diff mkdir / usr / bin / comm / diff / er mkdir / usr / bin / comm / diff / er / Zaun
Wie Sie sehen, erspart es Ihnen ein wenig Tippen und Nachdenken, da Sie nicht herausfinden müssen, was bereits vorhanden ist und was nicht.
quelle