Chcę zobaczyć zawartość (listę plików i folderów) archiwum, na przykład tar.gz
plik bez rozpakowywania go.
Czy są na to jakieś metody?
command-line
Avinash Raj
źródło
źródło
tar -tvf xxx.tgz
pokazałoby to również szczegółowe właściwości plików.tree
tar -tf filename.tar.gz | tree
unzip -l
/unrar -l
Możesz także użyć vima
źródło
ex +%p foo.tar.gz
.vim file.tar.gz
) pojawia się komunikat „Wybierz plik za pomocą kursora i naciśnij ENTER”. Po prostu przesuń kursor nad plikiem i naciśnij ENTER.less
może również otwierać archiwagz
skompresowane i nieskompresowanetar
. Zapewnia również piękny efektls -l
wyjściowy:A ponieważ jest
less
, możesz go przewijać, przeszukiwać itp. Jednak nie udaje mu się to z innymi algorytmami kompresji (z mojego doświadczenia).źródło
alias
specjalnych opcjiless
, których tu nie pokazujesz? Próbowałem to zobaczyć, ale to nie działało. Nie mam skonfigurowanych aliasówless
.Można użyć polecenia Z:
zcat
,zless
,zgrep
.Aby wyświetlić zawartość pliku, użyj:
Aby grep coś użyć:
Aby sprawdzić różnicę między plikami, użyj:
To tylko kilka przykładów, jest ich o wiele więcej.
źródło
tar
„s-t
flag wyświetli zawartość dla Ciebie. Dodaj to do innych flag (tak-tvfz
dla atar.gz
,-tvfj
atar.bz2
, itp.) I możesz przeglądać bez rozpakowywania. Stamtąd można dość łatwo wyodrębnić pojedyncze plikiDużym problemem
tar
jest zapamiętywanie wszystkich pozostałych flag . Dlatego zwykle polegam na7z
(wp7zip-full
pakiecie) na całej archiwizacji. Nie twierdzę, że jest całkowicie lepszy, ale obsługuje prawie wszystko (bez konieczności określania typu kompresji), a argumenty są logiczne.Z pewnością jest mniej zdolny, ale nie potrzebujesz strony podręcznika, aby z niego korzystać.
Istnieje również Midnight Commander (
mc
). Jest to wszechstronne narzędzie do quasi-graficznego zarządzania plikami opartymi na terminalach, a po lekkich testach pozwala tylko przeglądać zarówno archiwa, jak.tar.gz
i.7z
archiwa. Nie jestem pewien, ile innych obsługuje.źródło
To zależy od pliku. Większość programów (de) kompresji ma flagę z listą zawartości archiwum.
tar
Pliki /tar.gz
/tgz
/tar.xz
/tar.bz2
/tbz
zip
akta7zip
aktarar
aktaTo większość popularnych formatów archiwów. Mając to na uwadze, możesz napisać mały skrypt, który używa odpowiedniej komendy, w zależności od rozszerzenia pliku, który jej podajesz:
Zapisz ten skrypt w swoim
PATH
pliku i wykonaj go. Następnie możesz wyświetlić zawartość dowolnego archiwum:A ponieważ ktoś wspomniał o tym mniejszym edytorze, oczywiście emacs może to zrobić:
źródło
Dlaczego nie użyć
vim
do przeglądania swojego archiwum i otwierania plików (przynajmniej plików tekstowych):Naciskaj klawisze strzałek, aby przewijać i Enterotwierać plik.
źródło
Midnight Commander (
mc
) ma również dobrą, skompresowaną przeglądarkę plików, chociaż uważam to za trochę oszukiwania, ponieważ mc jest menedżerem plików, choć tekstowym.Ponadto, jeśli chcesz tylko zobaczyć, co znajduje się w skompresowanych archiwach, możesz nauczyć się polecenia „widok” dla każdej sprężarki.
tar tzvf
pokaże zawartość pliku tar,unzip -l
zrobi to dla pliku zip i tak dalej.źródło
Korzystanie
view filename.tar.gz
również będzie działać. podobnie jak robi to vim, ale bez uprawnień do zapisu.źródło
lesspipe
to skrypt powłoki instalowany domyślnie jako częśćless
pakietu, który może wyświetlać zawartośćtar.gz
archiwum, a także szereg innych popularnych formatów plików archiwów.Jest wywoływany przez
less
polecenie ( patrz odpowiedź Oli ) jako preprocesor wejściowy, jeśli$LESSOPEN
zmienna środowiskowa jest odpowiednio ustawiona.Jeśli masz ochotę na przygodę, zrób szczyt,
vi /usr/bin/lesspipe
aby zobaczyć, jakich poleceń używa. W przypadku plików pasujących dotar.gz
rozszerzenia widzimy, że używa onotar tzvf
pod maską wraz z--force-local
opcją wyłączenia niejasnej funkcjitar
, która w przeciwnym razie pomieszałaby dwukropki w nazwie pliku z poleceniem użycia zdalnego napędu taśmowego:Zauważ, że ponieważ jest przede wszystkim zaprojektowany jako preprocesor
less
, nie wypisze niczego, jeśli nie rozpozna typu pliku. Zauważyłem, że niektóre.tar.gz
pliki, które pobrałem, nie będą działać, ponieważ w rzeczywistości nie używają kompresji gzip pomimo nazwy pliku.źródło
Jeśli chcesz wyświetlić zawartość określonego pliku w archiwum bez wyodrębniania go lub zapisywania na dysk w jakikolwiek sposób, użyj flagi -O (wielka o), aby zapisać na standardowe wyjście zamiast pliku.
Upewnij się, że O jest przed f lub spróbuje parsować O jako nazwę pliku.
źródło