Considerar:
ls -al ../public-back
drwxrwxr-x 4 apache apache 4096 Apr 19 03:32 templates
ls -al ../public-back/templates
drwxrwxr-x 2 apache apache 4096 Apr 19 03:33 content
drwxrwxr-x 2 apache apache 20480 Apr 20 06:14 images
drwxrwxr-x 2 apache apache 4096 Apr 19 03:35 video
ls -al /public
drwxrwxr-x 4 apache apache 4096 Apr 20 09:49 templates
ls -al /public/templates
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 content
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 images
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 video
Como mover o conteúdo de /public-back/templates
recursivamente com permissões para /public/templates
?
linux
command-line
mv
siliconpi
fonte
fonte
mv -R ../public-back/templates/* public/templates/
Eu ainda votaria para fazer a pergunta.Respostas:
A menos que eu esteja entendendo mal a pergunta, isso funcionaria:
Além disso, a menos que você tenha uma lista enorme de arquivos, a adição
-i
perguntará antes de substituir qualquer coisa, o que adiciona alguma segurança ao usar caracteres curinga como*
.fonte
Directory not empty
mensagem.mv: target '/public/templates' is not a directory
basta criar a pasta de destino manualmente:mkdir /public/templates
.A página de manual do cp declara:
Experimentar;
fonte
mv
é para movimento , enquantocp
é para cópia - uma distinção semântica / etimológica.cp
é muito mais lento quemv
.cp
força o computador a copiar tudo do disco para a RAM e depois gravá-lo no disco novamente, o que pode demorar muito, dependendo do tamanho dos arquivos. No entanto,mv
sempre acontece instantaneamente, porque apenas os links precisam ser reescritos.Ao mover itens do meu pen drive para o meu sistema OSMC, achei o seguinte muito útil:
Explicação sobre como funciona abaixo.
Entre, não se esqueça de adicionar uma barra invertida antes de qualquer espaço nos nomes dos diretórios de origem ou de destino (veja acima).
Efetivamente, você está localizando todos os arquivos e pastas e movendo-os um por um (ou, se um diretório for encontrado primeiro, você está movendo esse diretório e o conteúdo nele). Isso inicia um novo processo para cada movimento e é muito ineficiente. Use isso somente quando os comandos regulares falharem.
fonte
MV parece não fazer isso. Mas você pode usar este pequeno truque, funciona como um encanto:
e preserva permissões e tudo.
Nota: nenhuma das opções acima funcionou para mim, é por isso que esta solução alternativa.
fonte
Portanto, crie links físicos no diretório de destino e remova o diretório de origem. 'mv' simplesmente não funcionará no seu caso e, em geral, funciona apenas quando source dir e dest não tiverem subárvores comuns.
Observe que estou assumindo que a palavra 'mover' na pergunta significa que o diretório de origem deve desaparecer após a operação.
fonte