Portanto, sou novo no Linux e escrevi um pequeno script que deve arquivar o conteúdo que termina com.log em /var/log em um arquivo tar chamado log.tar em um novo diretório chamado archive. Em seguida, é necessário listar o conteúdo do arquivo tar e extraí-lo para um novo arquivo chamado backup.
#!/bin/bash
mkdir archive
mkdir backup
cd archive
tar -cvf log.tar /var/log/*.log
tar -tf tar.log
tar -xf tar.log -C ~/backup
Então, quando executo o script, recebo esta saída.
tar: Removing leading `/' from member names
/var/log/alternatives.log
/var/log/auth.log
/var/log/bootstrap.log
/var/log/dpkg.log
/var/log/fontconfig.log
/var/log/gpu-manager.log
/var/log/kern.log
/var/log/vboxadd-install.log
/var/log/vboxadd-setup.log
/var/log/Xorg.0.log
var/log/alternatives.log
var/log/auth.log
var/log/bootstrap.log
var/log/dpkg.log
var/log/fontconfig.log
var/log/gpu-manager.log
var/log/kern.log
var/log/vboxadd-install.log
var/log/vboxadd-setup.log
var/log/Xorg.0.log
Então, eu queria saber se é possível remover a parte /var/log/ das linhas ao arquivar, então, em vez disso, recebo isso ao listar o que está no arquivo tar.
alternatives.log
auth.log
bootstrap.log
cron.log
dpkg.log
kern.log
mail.log
E quando faço ls no arquivo de backup, vejo o diretório var e quando faço las no diretório var e, finalmente, dentro do diretório de log, obtenho os arquivos de log. Então, como faço para extrair sem o nome do caminho /var/log/ e diretório?