Jak wyodrębnić określony plik z archiwum tar?

106

Cześć, czy można przywrócić pojedynczy plik z kopii zapasowej .tar? Nie chcę przywracać całkowitej kopii zapasowej. Chcę tylko przywrócić jeden plik z kopii zapasowej.

rɑːdʒɑ
źródło

Odpowiedzi:

128

1. Korzystanie ze smoły wiersza poleceń

Tak, po prostu podaj pełną zapisaną ścieżkę do pliku po nazwie tarballa.

Przykład: załóżmy, że chcesz plik etc/apt/sources.listz etc.tar:

tar -xf etc.tar etc/apt/sources.list

Wyodrębni sources.listi utworzy katalogi etc/aptw bieżącym katalogu.

  • Możesz użyć -topcji listowania zamiast -x, być może wraz z grep , aby znaleźć ścieżkę do żądanego pliku
  • Możesz także wyodrębnić pojedynczy katalog
  • tar ma inne opcje, takie jak --wildcardsitp. dla bardziej zaawansowanych scenariuszy częściowej ekstrakcji; widziećman tar

2. Wypakuj go za pomocą Archive Managera

Otwórz tar w Menedżerze archiwów z Nautilus, przejdź do hierarchii folderów, aby znaleźć potrzebny plik, i rozpakuj go.

  • Na serwerze lub w systemie wiersza poleceń użyj do tego celu menedżera plików tekstowego, takiego jak Midnight Commander ( mc).

3. Korzystanie z Nautilus / Archive-Mounter

Kliknij prawym przyciskiem myszy tar w Nautilus i wybierz Otwórz za pomocą ArchiveMounter.

Tar będzie teraz wyglądał podobnie do dysku wymiennego po lewej stronie i możesz go eksplorować / nawigować jak normalny dysk oraz przeciągać / kopiować / wklejać dowolny plik (i) do dowolnego miejsca docelowego.

ish
źródło
3
Czy jest jakiś sposób na pominięcie pierwszego katalogu początkowego. Zwłaszcza, gdy nie znam jego nazwy? Jak katalog z symbolami wieloznacznymi.
CMCDragonkai
Czy możesz mi powiedzieć, czy to ładuje się w całym pliku tar? Ponieważ kiedy próbowałem to zrobić dla pliku ( /etc/network/interfaces), zadziałało, ale narzędzie się starzeje . Zatrzymałem program, ale plik został rozpakowany.
Christophe De Troyer
1
Najważniejszym krokiem było dla mnie użycie the full stored path of the file. Tak ./filenamedziałało, ale filenamenie.
Niloct
4
@ChristopheDeTroyer Tarballi są skompresowane w taki sposób, że musisz je całkowicie zdekompresować, a następnie wyjąć żądany plik. Myślę, że foldery .zip są różne, więc jeśli chcesz mieć możliwość szybkiego usuwania pojedynczych plików, wypróbuj je.
GKFX,
Czy możesz dodać więcej informacji o tym, jak to zrobić w Midnight Commander?
beppe9000,