Come posso usare il comando tar Unix con un percorso file implicito?


9

Sto usando il tar -xvfcomando e sta prendendo il percorso esplicito. Tuttavia, il percorso è pieno.
Esempio:

tar -xvf 13.2.tar

Sta prendendo il percorso della /mntcartella. La /cartella è piena

Come posso tarare il file con il percorso implicito?


Dovresti chiarire chiaramente cosa sta succedendo esattamente, poiché il tuo modo attuale di porre la domanda fa sembrare anche la sfera di cristallo più sofisticata leggermente sfocata.

Risposte:


2

Di solito è tarnecessaria l' opzione --absolute-nameso --absolute-pathsper conservare la '/'parte principale durante la creazione di un archivio. Anche se lo forzate in quel modo, anche l'estratto salta il comando '/'.


Tuttavia, se hai un archivio con il lead '/'e tar non lo salta durante l'estrazione, la risposta di NoahD dovrebbe funzionare in questo modulo,

pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar

Penso paxche non gestisca i file compressi, quindi dovresti eseguire il pipe dopo la decompressione pax.
Andrebbe così (supponendo che tu abbia un archivio compresso)

gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v

Ho trovato questa pagina wiki su Google proprio ora.


2

La differenza tra l'uso di canonico (aka esplicito) e relativo (ciò che probabilmente si chiama implicito) è se si utilizza /a all'inizio.

Ad esempio, se la directory di lavoro corrente è /usr/home/bob, i seguenti comandi hanno esattamente lo stesso effetto

tar -xvf foo.tar *
tar -xvf ./foo.tar *
tar -xvf ./foo.tar ./*
tar -xvf /usr/home/bob/foo.tar *
tar -xvf /usr/home/bob/foo.tar ./*
tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *

Ma sospetto che questa non sia davvero la tua domanda. Sembra più che tu debba determinare l'utilizzo del disco e individuare una directory non piena. Questo può essere fatto con il dfcomando.

df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig

E puoi usare mountper mostrarti quali file system sono montati su quali dispositivi.


0

Per creare un file tar con un percorso relativo,

cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir

Per decomprimere un tar in una directory specifica diversa dalla directory di lavoro corrente, utilizzare l'opzione -C (C maiuscola).

Se desideri decomprimere un file con nomi di percorso assoluti in un punto diverso da root, potresti dover fare confusione chroot(1).


0

Credo che pax farà il trucco

pax -r -s, / mnt, / gooddir, -f 13.2.tar

Dovrebbe consentire di sostituire in una nuova directory principale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.