Czy jest jakiś program zapewniający spójny interfejs dla wielu typów archiwów?

13

W tej chwili, jeśli pobiorę skompresowany plik, może to być dowolne archiwum .tar.gz, archiwum tar.bz2, archiwum .zip lub archiwum .gz. I za każdym razem, gdy to robię, muszę pamiętać, jakie są opcje wiersza poleceń dla tego programu.

Czy jest jakiś program CLI, do którego mogę po prostu przejść:

jakaś rozpakowanie. ??

i niech się domyśli, w jakim formacie jest archiwum? (zbyt długa nazwa używana w celu uniknięcia konfliktu z dowolnym prawdziwym programem)

Macha
źródło
Nie mogłem znaleźć ani tworzyć żadnych tagów takich jak archive, compressionitd. Czy ktoś jeszcze dodać poprawny?
Macha
@Tshepang: Naprawiono.
Macha

Odpowiedzi:

11

Możesz użyć p7zip . Automatycznie identyfikuje typ archiwum i rozpakowuje go.

p7zip to wersja 7-Zip w linii poleceń dla Unix / Linux, stworzona przez niezależnego programistę.

7z e <file_name>

Hemant
źródło
5

Jakiś czas temu znalazłem ten krótki fragment i od tego czasu go używam. Po prostu mam go w moim pliku .bashrc

extract () {
if [ -f $1 ] ; then
    case $1 in
        *.tar.bz2)  tar xjf $1      ;;
        *.tar.gz)   tar xzf $1      ;;
        *.bz2)      bunzip2 $1      ;;
        *.rar)      rar x $1        ;;
        *.gz)       gunzip $1       ;;
        *.tar)      tar xf $1       ;;
        *.tbz2)     tar xjf $1      ;;
        *.tgz)      tar xzf $1      ;;
        *.zip)      unzip $1        ;;
        *.Z)        uncompress $1   ;;
        *)          echo "'$1' cannot be extracted via extract()" ;;
    esac
else
    echo "'$1' is not a valid file"
fi
}
Dason
źródło
1
Jest to bardziej skuteczne niż zaakceptowana odpowiedź, ponieważ 7z e foo.tar.gzpo prostu pozostawia Ci foo.tarplik.
Wilfred Hughes
2

W Debian / Ubuntu znajduje się unppakiet, który jest skryptem Perla, który działa jako nakładka na wiele narzędzi do archiwizacji.

JanC
źródło
2

Z innego pytania : atool , który obsługuje również różne typy archiwów i ma większą moc niż unpdlatego, że obsługuje także spis treści, znajdowanie różnic między archiwami itp.

Thomas Themel
źródło
1

GNU tar (i star) ma co najmniej pewne możliwości automatycznego wykrywania kompresji:

tar xf foo.tar.gz
tar xf foo.tar.bz

po prostu pracuj.

maxschlepzig
źródło
Zależy to od wersji tar, które formaty może wykryć automatycznie, ale poza tym działa dobrze ... IIRC starjest właściwie bardziej znormalizowanym sposobem, w którym tar GNU jest niestandardowym rozszerzeniem.
ksenoterrakid
Najnowsza wersja GNU tar może rozpakować wszystkie skompresowane archiwa, które są tworzone za pomocą dowolnego przełącznika filtra kompresji (z, j, J, --lzma), automatycznie wykryje kompresję.
polemon
@xenoterracide: Cóż, autor gwiazdy bardzo skrytykował GNU tar w swoim zwykłym stylu - te pisma mogą być stronnicze (ignorując złe punkty dotyczące gwiazdy i dobre punkty dotyczące GNU tar), zawierają prawdopodobnie trochę FUD i są prawdopodobnie przestarzałe.
maxschlepzig
1

Myślę Narzędzie KDE archiwizacji można uruchomić bez GUI. Z strony podręcznikaarkark

ark --batch archive.tar.bz2

Rozpakuje archive.tar.bz2 do bieżącego katalogu bez wyświetlania GUI.

Obsługa Arków dla różnych formatów archiwów zależy od zainstalowanych aplikacji (np. Dla rar zależy od unrar), ale nie znam żadnych formatów, których nie obsługuje.

ksenoterracid
źródło
1

Dziwi mnie, że nikt nie wspomniał o narzędziu dtrx , które zostało zasugerowane w tej odpowiedzi .

Wydaje się pasować do zamówienia na tee.

HighCommander4
źródło
0

Unarchiver obsługuje ekstrakcję około 50 różnych formatów za pomocą spójnego interfejsu.

Domyślnie katalog jest tworzony, jeśli istnieje więcej niż jeden plik lub folder najwyższego poziomu.

Zobacz swoje man-page .

Wersja wiersza poleceń obsługuje system Linux i jest dostępna tutaj .

Tom Hale
źródło