Como copiar automaticamente o backup do arquivo editado

0

Frequentemente, esqueço-me de fazer backup das cópias originais dos arquivos importantes do sistema com os quais estou mexendo.

Existe alguma maneira de o sistema copiar automaticamente um arquivo que eu edito, se, e. está em / etc? Basta fazer uma cópia do nome do arquivo para filename ~ no mesmo diretório?

    
por EE1337 03.10.2017 / 15:53

2 respostas

1

Depende de qual editor você usa:

  • O nano tem uma opção para salvar automaticamente os arquivos quando você os salva, o que pode estar no diretório igual ou alternativo.
  • gedit tem uma opção [para não] salvar um arquivo de backup
  • vim aparentemente também funciona

Seria melhor determinar qual editor você gostaria de usar e pesquisar a documentação desse editor para determinar como e onde, ele fará backups dos arquivos editados.

    
por Charles Green 03.10.2017 / 16:04
0

Se o seu editor não fornecer uma opção para isso, você poderia escrever uma função como essa:

kate~(){ cp "${!#}" "${!#}~" && kate $@ ;}

Você pode fazer isso para cada editor, isso simplesmente pega o último argumento ( ${!#} ), que sempre deve ser o nome do arquivo, faz uma cópia dele e executa o editor ( kate ) com toda a linha de argumentos ( %código%). Esta função de exemplo é chamada com $@ . Funções como essa são melhor armazenadas no arquivo kate~ [OPTIONS] [FILE] , dessa forma elas são efetivas para cada novo terminal aberto.

Para testar um diretório específico, como ~/.bash_aliases , você poderia fazer, por exemplo,

kate~(){ [[ "${!#}" =~ /etc/ ]] && cp "${!#}" "${!#}~" ; kate $@ ;}

Desta forma, o arquivo de backup só será criado se o arquivo a ser aberto estiver localizado em /etc/ .

    
por dessert 03.10.2017 / 16:41