Por que '-' foi escolhido como o sufixo do arquivo de backup para certos arquivos do sistema Unix?

1

Exemplo: /etc/group- , /etc/passwd-

Existe alguma motivação por trás da escolha do sinal - (por exemplo, mais fácil de reconhecer, processar, etc.)?

    
por syntagma 22.01.2015 / 07:59

1 resposta

7

Usar prefixos ou sufixos é comum, porque é facilmente filtrado.

Geralmente, é ~ para backup. A maioria dos editores de texto usa isso, e é possível dizer explicitamente a ls para não listá-los por padrão. Isso é semelhante ao uso de um ponto no início para tornar o arquivo um pouco oculto (isso também é respeitado por ls e pelo shell globbing). Outros exemplos são #filename# usados pelo emacs para armazenar unsaved modificações de um arquivo (para que você possa recuperar se você não salvou alguma coisa). Este é geralmente um arquivo temporário (não exatamente um backup) e é geralmente mostrado pelas ferramentas de listagem de arquivos.

O uso de - no caso de arquivos de gerenciamento de contas de usuários é algo pouco convencional (não me lembro de nenhuma outra ocorrência desse sufixo). Pode ser das versões pré-históricas do unix (alguém deve comentar se souber). No entanto, há uma diferença sutil aqui. O ~ significa principalmente que um usuário modificou um arquivo e um backup foi armazenado pelo editor de texto. O sufixo - é usado pelas ferramentas automáticas para gerenciamento de usuários. Não existe muito para inverter erros de sintaxe ou corrupções de arquivos, mas para reverter uma alteração correta (mas não desejada). Não é incomum ter os dois arquivos presentes se você editar os arquivos manualmente em algum momento. Por exemplo, às vezes tenho três arquivos extras:

passwd, passwd~, passwd-, passwd.pacnew

o último é um sufixo personalizado usado por pacman para armazenar um arquivo a ser cuidadosamente mesclado no arquivo existente manualmente.

    
por 22.01.2015 / 10:06