Crie um arquivo .tar.bz2 Linux

87

Na minha máquina Linux, desejo criar um arquivo .tar.bz2 de uma determinada pasta. Depois de me colocar nessa pasta (no terminal), o que devo digitar na linha de comando do terminal para colocar a pasta compactada no diretório inicial da minha máquina?

Digamos que estou na pasta / home / usuário / pasta. Na pasta "pasta" estão vários arquivos (txt, .c etc). Como faço para compactar essa pasta do tipo .tar.bz2 e colocá-la no meu diretório / home?

Na pasta / home / usuário /, tentei, sudo tar -cvjSf folder.tar.bz2mas recebi um erro:

tar: Recusando-se covardemente a criar um arquivo vazio

Adão
fonte
11
Indico isso para o prêmio de uso inútil de sudo, já que você está trabalhando em seu diretório inicial, não há necessidade de despertar o superusuário.
Afr
1
Para aqueles que estão se perguntando - c= criar, v= verboso, j= compactação bz2, S= eficiência esparsa, f= nome do arquivo de saída. Não sei exatamente o que Sfaz, esta é apenas uma lista da página de
manual

Respostas:

172

Você não está indicando o que incluir no arquivo.

Vá um nível fora da sua pasta e tente:

sudo tar -cvjSf folder.tar.bz2 folder

Ou da mesma pasta tente

sudo tar -cvjSf folder.tar.bz2 *

Felicidades!

Pietromenna
fonte
2
Esteja ciente de que, se você usar a segunda opção, * não incluirá arquivos ocultos na pasta atual (começando com um caractere de ponto final). Portanto, a primeira opção é melhor, pois incluirá arquivos ocultos.
Shervin Emami
3
Ei, você pode mudar o '*' para '.' na segunda opção para incluir também arquivos ocultos.
pietromenna de
3
O OpenBSD não tem a Sopção ' ', o FreeBSD a possui, mas apenas com a opção 'extrair', então a melhor maneira deve sertar cvjf
b3h3m0th
11

Experimente em outra pasta:

sudo tar -cvjSf folder.tar.bz2 folder/*
Robert Juhasz
fonte