M-am gândit arhiva tar.tar /users/mylocation` ar merge, dar nu't. Cum pot face asta?
Pentru a extrage o arhiva într-un director diferit de cel actual, de a folosi -C
sau --director
, tar opțiune, la fel ca în
tar -xf archive.tar -C /target/directory
Rețineți că directorul țintă trebuie să existe înainte de a rula această comandă (acesta poate fi creat prin mkdir /țintă/director
).
Citit pagina de manual (command: om tar
) pentru alte opțiuni.
Combinarea anterior răspunsuri și comentarii:
Pur și simplu extrage conținutul și de a crea țintă director în cazul în care lipsește:
mkdir -p /target/directory && tar xf archive.tar -C /target/directory
Pentru a extrage și elimina, de asemenea, rădăcină(primul nivel) director în zip
mkdir -p /target/directory && tar xf archive.tar -C /target/directory --strip-components=1
O altă opțiune este de a utiliza-un-top-level. Acest lucru va crea automat un director pe baza fisierului original.
tar zxvf filename.tgz --one-top-level
În plus, dacă doriți, puteți specifica propriile tale și gudron va crea în mod automat.
tar zxvf filename.tgz --one-top-level=new_directory
Ceea ce am găsit interesant în legătură cu extracția, asta depinde de cum ai creat-o arhiva, vezi acest exemplu
cd /tmp
mkdir folder
touch folder/file.txt
când faci tar-zcvf folder.tar.gz dosarul
totul este cum era de așteptat = când untar acum va fi neasfaltate (dosar va fi de a crea, dacă ați scos-o) ca /tmp/folder/
.
Dar, atunci când veți crea tar ca tar-zcvf tmp-folder.tar.gz /tmp/dosarul și untar în /tmp dosar, rezultatul va fi
/tmp/tmp/folderdirector ! În acest caz trebuie să untar la / -
tar-xf tmp-folder.tar.gz -C /`