Donc, cela ne semble pas être une question extrêmement compliquée, mais c’est une question à laquelle je ne trouve pas de réponse. Je ne comprends pas ce que l'option -p
fait sous Unix. Je l'ai utilisé pour une tâche de laboratoire lors de la création d'un sous-répertoire, puis d'un autre sous-répertoire au sein de celui-ci. Cela ressemblait à ceci:
mkdir -p cmps012m/lab1
C'est dans un répertoire privé avec les droits normaux (rlidwka
). Oh, cela vous dérangerait-il de donner une petite explication de ce que rlidwka
signifie? Je ne suis pas un vrai partisan d'Unix, mais je ne connais pas vraiment ce que cela signifie. Espérons que ce n'est pas une question trop vague.
La page de manuel est la meilleure source d’information que vous puissiez trouver ... et est à portée de main: man mkdir
donne ceci à propos de -p
switch:
-p, --parents
no error if existing, make parent directories as needed
Exemple de cas d'utilisation: Supposons que je souhaite créer des répertoires hello/goodbye
mais qu'il n'en existe aucun:
$mkdir hello/goodbye
mkdir:cannot create directory 'hello/goodbye': No such file or directory
$mkdir -p hello/goodbye
$
-p
a créé à la fois hello
et goodbye
Cela signifie que la commande créera tous les répertoires nécessaires pour répondre à votre demande, sans renvoyer d'erreur si ce répertoire existe .
À propos de rlidwka
, Google a une très bonne mémoire pour les acronymes :). Ma recherche a renvoyé ceci par exemple: http://www.cs.cmu.edu/~help/afs/afs_acls.html
Directory permissions
l (lookup)
Allows one to list the contents of a directory. It does not allow the reading of files.
i (insert)
Allows one to create new files in a directory or copy new files to a directory.
d (delete)
Allows one to remove files and sub-directories from a directory.
a (administer)
Allows one to change a directory's ACL. The owner of a directory can always change the ACL of a directory that s/he owns, along with the ACLs of any subdirectories in that directory.
File permissions
r (read)
Allows one to read the contents of file in the directory.
w (write)
Allows one to modify the contents of files in a directory and use chmod on them.
k (lock)
Allows programs to lock files in a directory.
Donc rlidwka
signifie: Toutes les autorisations sur .
Comme @KeithThompson l'a fait remarquer dans les commentaires, il convient de noter que tous les systèmes Unix ne prennent pas en charge ACL. Donc, probablement le concept rlidwka
ne s'applique pas ici.
-p|--parent
sera utilisé si vous essayez de créer un répertoire avec l'approche top-down
. Cela créera le répertoire parent, puis enfant, et ainsi de suite, à condition qu'il n'en existe aucun.
-p, --parents pas d'erreur s'il existe, crée les répertoires parents au besoin
À propos de rlidwka
cela signifie donner un accès complet ou un accès administratif. Je l'ai trouvée ici https://itservices.stanford.edu/service/afs/intro/permissions/unix .
mkdir [-switch] nomutilisateur
-p
est un commutateur facultatif. Il crée un sous-dossier et un dossier parent. Même le dossier parent n'existe pas.
De la page de manuel:
-p, --parents no error if existing, make parent directories as needed
Exemple:
mkdir -p storage/framework/{sessions,views,cache}
Cela créera des sessions de sous-dossiers, des vues, la mise en cache dans le dossier de la structure, indépendamment de la disponibilité préalable de la "structure".
Notez que -p
est un argument de la commande mkdir
spécifiquement, et non de la totalité de Unix. Chaque commande peut avoir tous les arguments nécessaires.
Dans ce cas, cela signifie "parents", ce qui signifie mkdir
créera un répertoire et tous les parents qui n'existent pas déjà.
PATH: Répondu il y a longtemps, cependant, il serait peut-être plus utile de considérer -p comme "Path" (plus facile à retenir), car mkdir crée toutes les parties du chemin qui ne sont pas déjà présentes.
mkdir -p/usr/bin/comm/diff/er/fence
si/usr/bin/comm existe déjà, il agit comme suit: mkdir/usr/bin/comm/diff mkdir/usr/bin/comm/diff/er mkdir/usr/bin/comm/diff/er/fence
Comme vous pouvez le constater, cela vous évite un peu de dactylographie et de réflexion, car vous n'avez pas à déterminer ce qui existe déjà et ce qui ne l'est pas.