Se você quiser evitar a supressão de quaisquer arquivos de backup com o GNU cp
, você pode usar backups numerados:
cp --backup=t source destination
Em vez de substituir um backup, isso cria backups adicionais.
Exemplo
Como exemplo, vamos considerar um diretório com dois arquivos:
$ ls
file1 file2
Agora, vamos copiar o arquivo1 para o arquivo2:
$ cp --backup=t file1 file2
$ ls
file1 file2 file2.~1~
Como podemos ver, foi feito um backup.
Vamos copiá-lo novamente:
$ cp --backup=t file1 file2
$ ls
file1 file2 file2.~1~ file2.~2~
Outro backup foi feito.
Documentação
A partir de man cp
, pouco antes do final da seção "descrição", as várias opções possíveis para --backup
são detalhadas:
The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:
none, off
never make backups (even if --backup is given)numbered, t
make numbered backupsexisting, nil
numbered if numbered backups exist, simple otherwisesimple, never
always make simple backupsAs a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file.