Portanto, sou novo no linux e escrevi um pequeno script que supostamente arquiva o conteúdo que termina com .log em / var / log para um arquivo tar chamado log.tar em um novo diretório chamado archive. Então, é suposto listar o conteúdo do arquivo tar e depois 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 eu executo o script, recebo essa 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, eu obtenho 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 eu ls no arquivo de backup eu vejo o diretório var e quando eu faço o las no diretório var e, finalmente, dentro do diretório de log eu recebo os arquivos de log. Então, como faço para extrair sem o nome / diretório do caminho / var / log /?