Portanto, não me parece uma pergunta terrivelmente complicada, mas para a qual não consigo encontrar a resposta. Estou confuso sobre o que a -p
opção faz no Unix. Usei-o para uma tarefa de laboratório ao criar um subdiretório e, em seguida, outro subdiretório dentro desse. Parecia assim:
mkdir -p cmps012m/lab1
Este está em um diretório privado com direitos normais ( rlidwka
). Ah, e alguém se importaria em dar uma pequena explicação sobre o que rlidwka
significa? Não sou um novato no Unix, mas não estou muito familiarizado com o que isso significa. Espero que essa não seja uma pergunta muito vaga.
unix
command-line
command-line-arguments
directory-structure
user3476866
fonte
fonte
man mkdir
vai responder sua pergunta. Quanto a "rlidwka", não tenho ideia; você precisará nos dar mais contexto.Respostas:
As páginas do manual são a melhor fonte de informação que você pode encontrar ... e está ao seu alcance:
man mkdir
produz isto sobre-p
switch:Exemplo de caso de uso: suponha que eu queira criar diretórios,
hello/goodbye
mas nenhum existe:-p
criou ambos,hello
egoodbye
Isso significa que o comando criará todos os diretórios necessários para atender a sua solicitação, não retornando nenhum erro caso esse diretório exista .
Sobre
rlidwka
, o Google tem uma memória muito boa para siglas :). Minha pesquisa retornou este, por exemplo: http://www.cs.cmu.edu/~help/afs/afs_acls.htmlPortanto,
rlidwka
significa: Todas as permissões ativadas .Vale a pena mencionar, como @KeithThompson apontou nos comentários, que nem todos os sistemas Unix suportam ACL. Portanto, provavelmente o
rlidwka
conceito não se aplica aqui.fonte
rlidwka
podem ou não ser significativos.-p|--parent
será usado se você estiver tentando criar um diretório com otop-down
approach. Isso criará o diretório pai, depois o filho e assim por diante, se nenhum existir.Sobre
rlidwka
isso significa dar acesso total ou administrativo. Encontrado aqui https://itservices.stanford.edu/service/afs/intro/permissions/unix .fonte
mkdir [-switch] nome da pasta
-p
é uma opção que é opcional, ele criará subpasta e pasta pai, bem como a pasta pai não existe.Na página de manual:
Exemplo:
Isso criará sessões de subpasta, visualizações e cache dentro da pasta do framework, independentemente do 'framework' estar disponível anteriormente ou não.
fonte
Observe que
-p
é um argumento para omkdir
comando especificamente, não para todo o Unix. Cada comando pode ter os argumentos de que precisa.Neste caso, significa "pais", o que significa
mkdir
que criará um diretório e quaisquer pais que ainda não existam.fonte
PATH: Respondido há muito tempo, no entanto, talvez seja mais útil pensar em -p como "Caminho" (mais fácil de lembrar), pois isso faz com que mkdir crie cada parte do caminho que ainda não está lá.
mkdir -p / usr / bin / comm / diff / er / fence
se / usr / bin / comm já existe, age como: mkdir / usr / bin / comm / diff mkdir / usr / bin / comm / diff / er mkdir / usr / bin / comm / diff / er / fence
Como você pode ver, isso economiza um pouco de digitação e reflexão, já que você não precisa descobrir o que já está lá e o que não está.
fonte