Así que esta no parece una pregunta terriblemente complicada que tengo, pero es una a la que no puedo encontrar la respuesta. Estoy confundido acerca de lo que hace la -p
opción en Unix. Lo usé para una tarea de laboratorio mientras creaba un subdirectorio y luego otro subdirectorio dentro de ese. Se veía así:
mkdir -p cmps012m/lab1
Esto está en un directorio privado con derechos normales ( rlidwka
). Ah, ¿y alguien le importaría dar una pequeña explicación de lo que rlidwka
significa? No soy un novato total en Unix, pero no estoy realmente familiarizado con lo que esto significa. Con suerte, esa no es una pregunta demasiado vaga.
unix
command-line
command-line-arguments
directory-structure
usuario3476866
fuente
fuente
man mkdir
responderá a su pregunta. En cuanto a "rlidwka", no tengo ni idea; necesitará darnos más contexto.Respuestas:
Las páginas de manual son la mejor fuente de información que puede encontrar ... y está al alcance de su mano:
man mkdir
produce esto sobre-p
switch:Ejemplo de caso de uso: Supongamos que quiero crear directorios
hello/goodbye
pero no existe ninguno:-p
creado ambos,hello
ygoodbye
Esto significa que el comando creará todos los directorios necesarios para cumplir con su solicitud, sin devolver ningún error en caso de que exista ese directorio .
Acerca de
rlidwka
, Google tiene muy buena memoria para los acrónimos :). Mi búsqueda devolvió esto, por ejemplo: http://www.cs.cmu.edu/~help/afs/afs_acls.htmlPor
rlidwka
lo tanto significa: Todos los permisos activados .Vale la pena mencionar, como @KeithThompson señaló en los comentarios, que no todos los sistemas Unix admiten ACL. Entonces, probablemente el
rlidwka
concepto no se aplique aquí.fuente
rlidwka
que puede ser significativo o no.-p|--parent
se utilizará si está intentando crear un directorio contop-down
enfoque. Eso creará el directorio principal, luego el secundario y así sucesivamente si no existe ninguno.Acerca de
rlidwka
eso significa dar acceso completo o administrativo. Lo encontré aquí https://itservices.stanford.edu/service/afs/intro/permissions/unix .fuente
mkdir [-switch] nombre de carpeta
-p
es un interruptor que es opcional, creará una subcarpeta y una carpeta principal y ni siquiera la carpeta principal no existe.Desde la página del manual:
Ejemplo:
Esto creará sesiones de subcarpetas, vistas, caché dentro de la carpeta del marco, independientemente de que el "marco" estuviera disponible antes o no.
fuente
Tenga en cuenta que
-p
es un argumento para elmkdir
comando específicamente, no todo Unix. Cada comando puede tener los argumentos que necesite.En este caso, significa "padres", lo
mkdir
que significa que creará un directorio y cualquier padre que aún no exista.fuente
RUTA: Respondido hace mucho tiempo, sin embargo, quizás sea más útil pensar en -p como "Ruta" (más fácil de recordar), ya que esto hace que mkdir cree cada parte de la ruta que aún no está allí.
mkdir -p / usr / bin / comm / diff / er / fence
si / usr / bin / comm ya existe, actúa como: mkdir / usr / bin / comm / diff mkdir / usr / bin / comm / diff / er mkdir / usr / bin / comm / diff / er / fence
Como puede ver, le ahorra un poco de escribir y pensar, ya que no tiene que averiguar lo que ya está y lo que no.
fuente