Eu não responderei diretamente à sua resposta, mas lhe darei ferramentas para ajudá-lo a descobrir o que está acontecendo.
Antes de prosseguir, sugiro que você faça uma cópia de backup do seu arquivo .bashrc
atual ou (de preferência) para executar o seguinte em outro diretório que não a sua localização $HOME
.
Comparação e experimentação
Você pode criar um arquivo tar (sem compactação) de um arquivo de texto e executar um cat
nele. Você verá algumas informações interessantes na primeira linha: compare com o arquivo backup
.
Se você extrair um arquivo não-tar (por exemplo, .bashrc
), aqui está o que você terá:
$ tar xvf .bashrc
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
Como você disse que extrair o backup
funcionou, sem mensagem de aviso nem erro, parece que esse arquivo é um arquivo tar.
file
será seu amigo
Antes de qualquer extração, você poderia usar o comando file. Isso indicará o tipo do arquivo:
$ file backup.tar
backup.tar: POSIX tar archive (GNU)
$ file .bashrc
.bashrc: ASCII text
TAR: arquivamento de fita
Isso parece óbvio, mas tar é um formato de arquivo que foi (e ainda é) usado para criar um único arquivo de vários outros diretórios completos. Isso permite usar fita magnética como meio de gravação para salvá-los.
Você fez RTFM?
Como sempre, ler as páginas de manual de tar
e file
ajudará.
O comando apropos
também pode ajudar, pois é um mecanismo de pesquisa local . Como outro exemplo, aqui como você poderia usá-lo (observe o "
aqui qual grupo as palavras-chave de busca como um único parâmetro):
apropos "file type"
A resposta
Finalmente (porque eu sou um cara legal), aqui está um exemplo do conteúdo de um arquivo tar contendo um arquivo .bashrc:
$ cat backup.tar | head
.bashrc0000644000175000017500000000711012770726533011656 0ustar myusermyuser# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac