Resposta curta
Usando a linha de comando (Terminal):
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
O comando acima adiciona o src
conteúdo e os subdiretórios ao destination
sem substituir o conteúdo já presente no destination
.
Resposta longa
Mesmo se o conteúdo se sobrepuser, você ainda poderá usá cp
-lo. Suponha que você tenha duas pastas no ambiente de trabalho: o src
e as destination
pastas e você deseja mesclar src
em destination
:
Para mesclar, basta fazer:
cp -r ~/Desktop/src/* ~/Desktop/destination/
OBSERVAÇÃO Quando você usa isso, o conteúdo src
sobrescreve o conteúdo da destination
pasta e adiciona os itens extras que estão faltando na destination
. Não importa se você deseja apenas adicionar os arquivos ausentes src
no destination
.
Além disso, não importa quantos subdiretórios existem, ele passará por cada pasta recursivamente e substituirá o conteúdo e adicionará o que está faltando na destination
pasta.
MAS
ARMADILHA Se você possui arquivos enormes (como arquivos de vídeo), não quer esperar até que tudo seja sobrescrito, isso adiciona muita sobrecarga.
SOLUÇÃO DE ARMADILHA : Em vez disso, você pode usar o -n
sinalizador para ignorar a substituição:
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
Esta é a descrição do -n
sinalizador na página de manual:
man cp
-n Do not overwrite an existing file. (The -n option overrides any
previous -f or -i options.)
Leitura adicional
- /programming/5088332/overhead-of-a-flag-in-cp-command