Eu não concordo que você deva usar o f bandeira. -f if an existing destination file cannot be opened, remove it and try again
Nifle
Pessoalmente, eu sempre uso o sinalizador -f. Não é uma boa prática, então talvez você esteja certo.
qroberts
Se você sabe o que faz e sabe o que está fazendo, tudo bem. Mas, neste caso, com um usuário inexperiente, pode não ser adequado.
Nifle
@Nifle Sim, entendo o que você está dizendo. Só que, se ele forçar, as chances de isso funcionar são melhores do que se ele não o fizesse. Tudo depende do que você está fazendo e que você entende o que faz.
qroberts
Se você colocar uma nota em sua resposta sobre o -f sinalizador sendo útil se você estiver copiando & lt; source & gt; mais & lt; dest & gt; (como ao sobrescrever coisas em & lt; dest & gt;) eu vou fazer o upvote e deletar minha resposta)
Nifle
10
Enquanto o cp -R respostas estão certas (ENTRE o caso da bandeira no BSD deve ser capital, ambos são suportados no linux), existe um velho encantamento envolvendo alcatrão :
$ tar cf - . | (cd DIR; tar xf - )
Por que diabos você faria isso? Porque o alcatrão tem uma compreensão bastante sofisticada de ligações ambos duros e simbólicos.
Deseja copiar para substituir os links simbólicos existentes por um que tenha o mesmo texto? Ou com links para o mesmo alvo (ajustando caminhos relativos para compensar)? Ou com cópias bit a bit do alvo?
Se dois arquivos no original estiverem vinculados, a nova estrutura deve ter duas cópias dos dados ou apenas uma?
Decisões decisões. Tar tem padrões sensíveis, mas permite que você seja muito específico sobre isso.
Respostas:
-r
= recursivo, copia todos os subdiretórios-f
= force, se um arquivo de destino existente não puder ser aberto, remova-o e tente novamenteNota Você deve ter cuidado ao usar o
-f
flag porque substituirá à força qualquer coisa para a qual você copie. Obrigado @Nifle por esta sugestão.Você pode querer usar o curinga * para copiar todos os arquivos no diretório, se necessário.
fonte
f
bandeira.-f if an existing destination file cannot be opened, remove it and try again
-f
sinalizador sendo útil se você estiver copiando & lt; source & gt; mais & lt; dest & gt; (como ao sobrescrever coisas em & lt; dest & gt;) eu vou fazer o upvote e deletar minha resposta)Enquanto o
cp -R
respostas estão certas (ENTRE o caso da bandeira no BSD deve ser capital, ambos são suportados no linux), existe um velho encantamento envolvendo alcatrão :Por que diabos você faria isso? Porque o alcatrão tem uma compreensão bastante sofisticada de ligações ambos duros e simbólicos.
Deseja copiar para substituir os links simbólicos existentes por um que tenha o mesmo texto? Ou com links para o mesmo alvo (ajustando caminhos relativos para compensar)? Ou com cópias bit a bit do alvo?
Se dois arquivos no original estiverem vinculados, a nova estrutura deve ter duas cópias dos dados ou apenas uma?
Decisões decisões. Tar tem padrões sensíveis, mas permite que você seja muito específico sobre isso.
fonte
Eu gosto
O Rsync é outra boa ferramenta para este
fonte