2011-01-17 13 views
5

Quando comprimiamo una cartella, digitiamo il comando tar -cjf folder.tar.bz2, esso comprime l'intera cartella in esso.domanda di compressione file bz2

C'è comunque un modo per comprimere tutto all'interno della cartella ma la cartella non dovrebbe apparire nell'archivio?

Esempio: quando si apre l'archivio, i file all'interno della cartella appariranno invece dell'intera cartella.

risposta

0

I penso a quello a cui ti riferisci è semplicemente cd folder; tar -cjf ../folder.tar.bz2 * .[^.]*, ma potrei sbagliarmi. Questo pone i nomi dei file al livello più alto nell'archivio risultante, anziché dopo folder/.

parametro
+0

provato. ma non credo che funzioni. tar -cjf folder.tar.bz2 tar: rifiuto codardo di creare un archivio vuoto Prova 'tar --help 'o' tar --usage' per maggiori informazioni. – op1

+0

e grazie per la risposta veloce = D – op1

+0

o c'è comunque la possibilità di selezionare tutti i file all'interno della cartella? di solito, se lo facciamo all'interno della cartella, aggiungiamo i nomi dei file che vogliamo comprimere. – op1

5

Uso -C di tar

tar -C folder -jcvf folder.tar.bz2 . 

ho provato nel mio PC e ha funzionato;)

+0

L'ho fatto sulla directory in cui si trova la cartella, quando apro il file tar.bz2, mostra che tutto è archiviato. cartella. – op1

+0

Se pensi che questa sia la risposta giusta, sarei lieto se la contrassegnassi così :) –

+0

solo un'altra domanda. hehe. i file all'interno della cartella sono memorizzati in "." cartella quando apro il file tar.bz2. – op1

3

Questo dovrebbe farlo:

cd folder; tar -cjf ../folder.tar.bz2 * 

Il * alla fine ottiene espanso dalla shell alla lista di tutti i file (tranne quelli nascosti) nella directory corrente. Prova echo *.

Per i file nascosti, ci sono due approcci possibili:

  1. utilizzare il comando ls con il suo -A opzione (lista "quasi tutti" i file, vale a dire tutti tranne . e .. voci per questo e la directory .

    cartella cd

    ; catrame -cjf ../folder.tar.bz2 $ (ls -A)

  2. espressioni Usa jolly (notare che questo non funziona nel cruscotto, e, quando uno qualsiasi degli schemi non corrisponde, lo otterrete letteralmente nell'elenco degli argomenti)

    cartella cd; tar -cjf ../folder.tar.bz2 *. [^.] * ..? *

+0

sì, funziona, ma cosa succede se ho bisogno di includere i file nascosti? – op1

+0

scusa per non aver menzionato prima i file nascosti. – op1

+0

@ op1: file nascosti: vedi modifica. – jpalecek

0

catrame -jcvf cartella folder.tar.bz2/*