mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames
Chociaż jest to stare pytanie, pojawia się wysoko w Google, więc pomyślałem, że mogę je zaktualizować. Zgadzam się z ogólnie przyjętą odpowiedzią, ale powinieneś dodać „--no-absolutne-nazwy plików”, chyba że zamierzasz zastąpić ważne pliki systemowe na swoim komputerze. Osobiście wolę „zcat” niż „gzip -cd” lub „gunzip -c”.
Na koniec zauważ, że musisz uruchomić cpio jako root (np. Sudo), jeśli rozpakowujesz główny system plików zawierający węzły urządzeń.
man cpio
co widziałeś?Odpowiedzi:
źródło
Chociaż jest to stare pytanie, pojawia się wysoko w Google, więc pomyślałem, że mogę je zaktualizować. Zgadzam się z ogólnie przyjętą odpowiedzią, ale powinieneś dodać „--no-absolutne-nazwy plików”, chyba że zamierzasz zastąpić ważne pliki systemowe na swoim komputerze. Osobiście wolę „zcat” niż „gzip -cd” lub „gunzip -c”.
Na koniec zauważ, że musisz uruchomić cpio jako root (np. Sudo), jeśli rozpakowujesz główny system plików zawierający węzły urządzeń.
źródło
Ta strona Wikipedii
cpio
ma kilka dobrych notatek.Aby uzyskać więcej informacji, zapoznaj się z
cpio
instrukcją .Link z tej samej strony w Wikipedii omawia porównanie z
tar
archiwami .A oto przykład użycia
cpio
z tymtar
formatem .źródło
Na przykład, aby wyodrębnić zarchiwizowaną zawartość / etc / httpd / do bieżącego katalogu, tworząc podkatalogi ./etc/httpd/
Zarówno zaakceptowana odpowiedź, jak i Matt były dla mnie pomocne, ale przez chwilę byłem zaskoczony z powodu trzech szczegółów:
--no-absolute-filenames
musi poprzedzać wzorzec w linii poleceń/
z nazw plików, pasujący wzorzec musi również pomijać interlinię/
źródło