Risposte:
Il modo semplice, se non è particolarmente necessario utilizzare -C
per indicare tar
di passare a un'altra directory, è semplicemente specificare il percorso completo dell'archivio sulla riga di comando. Quindi puoi trovarti in qualsiasi directory tu preferisca per creare la struttura di directory che desideri all'interno dell'archivio.
Quanto segue creerà l'archivio /var/www/file.tar.gz
e lo inserirà file1
dalla directory corrente (qualunque cosa accada), senza informazioni sul percorso in archivio.
tar czf /var/www/file.tar.gz file1
Naturalmente, anche il percorso (verso l'archivio, i file costituenti o entrambi) può essere relativo. Se file1
è dentro /tmp
, sei dentro /var/spool
e vuoi creare l'archivio /var/www
, potresti usare qualcosa come:
tar czf ../www/file1.tar.gz /tmp/file1
Ci sono un milione di variazioni sul tema, ma questo dovrebbe iniziare. Aggiungi la v
bandiera se vuoi vedere cosa tar
fa realmente.
$PWD
sia, è sembrato più sicuro usare un percorso assoluto nell'esempio.
file1
nell'archivio tar /tmp
. Questo può o meno essere quello che ti aspetti.
Trasformo i dati compressi in un flusso (-) e rinomino e localizzo facilmente (>) ovunque io scelga (Inoltre tengo sempre il percorso relativo (./) in modo che sia più facile da gestire quando si decomprime)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-C
è molto più idiomatico (e più breve).
Penso che dovrebbe essere:
tar czf file.tar.gz -C /var/www/ file1
Che funziona per me. Indica di cambiare directory e quindi scegliere il file.
-C
(che non è strano come è vagamente documentato). Per i dettagli, consultare serverfault.com/q/416002/86283 .