Pertanyaan Bagaimana saya bisa melihat isi file tar.gz tanpa mengekstrak dari baris perintah?


Saya ingin melihat isi (daftar file dan folder) dari suatu arsip, misalnya a tar.gz mengajukan tanpa mengekstraksi saya t.

Apakah ada metode untuk melakukan itu?


196
2017-12-19 05:46


asal


Mencoba man tar  ... - Reinier Post


Jawaban:


Jalankan perintah di bawah ini di terminal untuk melihat isi file tar.gz tanpa mengekstraknya:

tar -tf filename.tar.gz

screenshot of listing compressed tarball files in the terminal


210
2017-12-19 05:47



apakah semua contoh ini untuk melihat ke dalam file yang dikompresi juga bekerja pada jenis format lain. seperti zip, rar, dll tar? - Ciasto piekarz
tar -tvf xxx.tgz ini juga akan menunjukkan sifat detail file. - Eric Wang
pipa itu ke tree untuk melihat tampilan pohon tar -tf filename.tar.gz | tree - blockloop
Untuk penggunaan zip / rar unzip -l / unrar -l - RoVo


Anda juga bisa menggunakan vim

vim filename.tar.gz

95
2017-12-19 05:49



Ini luar biasa. Anda juga dapat melihat isi file! - Nico
Atau gunakan editor Ex: ex +%p foo.tar.gz. - kenorb
@Nico Bagaimana Anda menggunakan ini untuk melihat isi file dalam tgz? - 1252748
Ketika Anda membuka file dengan vim (vim file.tar.gz) ia mengatakan "Pilih file dengan kursor dan tekan ENTER". Anda melakukan itu, memindahkan kursor ke file dan tekan ENTER. - Nico
Dengan arsip besar Anda hanya harus bersabar. Ini bisa sangat lama untuk memuat struktur folder. :-) - Hugo H


less bisa juga terbuka gz-dikompresi dan tidak terkompresi tar arsip. Ini memberi Anda indah ls -l keluaran gaya juga:

$ less ~/src/compiz_0.9.7.8-0ubuntu1.6.debian.tar.gz
drwxrwxr-x 0/0               0 2012-09-21 11:41 debian/
drwxrwxr-x 0/0               0 2012-08-09 13:32 debian/source/
-rw-rw-r-- 0/0              12 2012-08-09 13:32 debian/source/format
-rw-rw-r-- 0/0              25 2012-08-09 13:32 debian/libdecoration0-dev.docs
-rw-rw-r-- 0/0              25 2012-08-09 13:32 debian/compiz-dev.docs
-rw-rw-r-- 0/0             347 2012-08-09 13:32 debian/compiz-core.install
-rw-rw-r-- 0/0             125 2012-08-09 13:32 debian/libdecoration0-dev.install
...

Dan karena itu less, Anda dapat menggulirnya, mencari, dll. Namun gagal dengan algoritma kompresi lain (dalam pengalaman saya).


36
2017-12-19 14:00



Tidak bekerja untukku. Ditampilkan sebagai file biner. - JeromeJ
Anda yakin tidak punya alias dengan opsi khusus untuk less yang tidak Anda tunjukkan di sini? Saya hanya mencoba itu untuk melihat, tetapi itu tidak berhasil. Saya tidak memiliki pengaturan alias untuk less. - code_dredd


Anda bisa menggunakan perintah z: zcat, zless, zgrep.

Untuk melihat penggunaan konten file:

zcat file.gz   

Untuk menggunakan sesuatu grep:

zgrep test file.gz   

Untuk memeriksa perbedaan antara file, gunakan:

zdiff file1.gz file2.gz

Ini hanya beberapa contoh, masih banyak lagi.


32
2018-03-30 15:53





tar's -t Bendera akan menampilkan konten untuk Anda. Tambahkan itu ke bendera Anda yang lain (jadi -tvfz untuk sebuah tar.gz, -tvfj untuk sebuah tar.bz2, dll. dan Anda dapat menjelajah tanpa mengekstrak. Dari sana Anda dapat mengekstrak file tunggal dengan mudah

tar -xvfz mybackup.tar.gz path/to/file

Masalah besar dengan tar aku s mengingat semua itu bendera lainnya. Jadi saya biasanya mengandalkan 7z (dari p7zip-full paket) untuk melakukan semua pengarsipan saya. Saya tidak akan mengklaim itu sepenuhnya lebih baik tetapi mendukung hampir semuanya (tanpa harus menentukan jenis kompresi) dan argumennya logis.

7z l archive.ext
7z e archive.ext path/to/file

Itu pasti kurang mampu, tetapi Anda tidak perlu halaman manual untuk menggunakannya.

Ada juga Midnight Commander (mc). Ini adalah all-around badass untuk manajemen file berbasis terminal kuasi grafis dan dengan beberapa pengujian ringan hanya membiarkan Anda menelusuri keduanya .tar.gz dan .7z arsip. Saya tidak yakin berapa banyak yang didukungnya.


8
2018-03-30 15:50



t-ar dulu dan nama memang singkatan tape pengarsip, yang menjerit berurutan dan dalam banyak kasus PIA. Terutama sebagai tar ganda + gz yang tak terelakkan ini kejam sekali. Juga pindah ke 7zip sekarang. - Frank Nocke


Itu tergantung pada file. Sebagian besar (de) program kompresi memiliki bendera yang berisi daftar isi arsip.

  1. tar/tar.gz/tgz/tar.xz/tar.bz2/tbz file

    $ tar tf foo.tgz 
    dir1/
    dir1/subdir1/
    dir1/subdir1/file
    dir1/subdir2/
    dir1/subdir2/file
    dir2/
    
  2. zip file

    $ zip -sf foo.zip 
    Archive contains:
      dir1/
      dir2/
      dir1/subdir1/
      dir1/subdir1/file
      dir1/subdir2/
      dir1/subdir2/file
    Total 6 entries (0 bytes)
    
  3. 7zip file

    $ 7z l foo.7z 
    
    7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
    p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,4 CPUs)
    
    Listing archive: foo.7z
    
    --
    Path = foo.7z
    Type = 7z
    Solid = -
    Blocks = 0
    Physical Size = 168
    Headers Size = 168
    
       Date      Time    Attr         Size   Compressed  Name
    ------------------- ----- ------------ ------------  ------------------------
    2015-03-30 19:00:07 ....A            0            0  dir1/subdir1/file
    2015-03-30 19:00:07 ....A            0            0  dir1/subdir2/file
    2015-03-30 19:07:32 D....            0            0  dir2
    2015-03-30 19:00:07 D....            0            0  dir1/subdir2
    2015-03-30 19:00:07 D....            0            0  dir1/subdir1
    2015-03-30 19:00:06 D....            0            0  dir1
    ------------------- ----- ------------ ------------  ------------------------
                                         0            0  2 files, 4 folders
    
  4. rar file

     $ rar v foo.rar 
    
    RAR 4.20   Copyright (c) 1993-2012 Alexander Roshal   9 Jun 2012
    Trial version             Type RAR -? for help
    
    Archive foo.rar
    
    Pathname/Comment
                      Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
    -------------------------------------------------------------------------------
     dir1/subdir1/file
                         0        8   0% 30-03-15 19:00 -rw-r--r-- 00000000 m3b 2.9
     dir1/subdir2/file
                         0        8   0% 30-03-15 19:00 -rw-r--r-- 00000000 m3b 2.9
     dir1/subdir1
                         0        0   0% 30-03-15 19:00 drwxr-xr-x 00000000 m0  2.0
     dir1/subdir2
                         0        0   0% 30-03-15 19:00 drwxr-xr-x 00000000 m0  2.0
     dir1
                         0        0   0% 30-03-15 19:00 drwxr-xr-x 00000000 m0  2.0
     dir2
                         0        0   0% 30-03-15 19:07 drwxr-xr-x 00000000 m0  2.0
    -------------------------------------------------------------------------------
        6                0       16   0%
    

Itu sebagian besar format arsip yang lebih populer. Dengan semua ini, Anda bisa menulis skrip kecil yang menggunakan perintah yang sesuai tergantung pada ekstensi file yang Anda berikan:

#!/usr/bin/env bash

for file in "$@"
do
    printf "\n-----\nArchive '%s'\n-----\n" "$file"
    ## Get the file's extension
    ext=${file##*.}
    ## Special case for compressed tar files. They sometimes
    ## have extensions like tar.bz2 or tar.gz etc.
    [[ "$(basename "$file" ."$ext")" =~ \.tar$ ]] && ext="tgz"

    case $ext in
        7z)
            type 7z >/dev/null 2>&1 && 7z l "$file" || 
            echo "ERROR: no 7z program installed"
            ;;
        tar|tbz|tgz)
            type tar >/dev/null 2>&1 && tar tf "$file"|| 
            echo "ERROR: no tar program installed"
            ;;
        rar)
            type rar >/dev/null 2>&1 && rar v "$file"|| 
            echo "ERROR: no rar program installed"
            ;;
        zip)
            type zip >/dev/null 2>&1 && zip -sf "$file"|| 
            echo "ERROR: no zip program installed"
            ;;
        *)
            echo "Unknown extension: '$ext', skipping..."
            ;;
    esac
done

Simpan skrip itu di Anda PATH dan membuatnya bisa dieksekusi. Anda kemudian dapat daftar isi dari arsip apapun:

$ list_archive.sh foo.rar foo.tar.bz foo.tar.gz foo.tbz foo.zip

-----
Archive 'foo.rar'
-----

RAR 4.20   Copyright (c) 1993-2012 Alexander Roshal   9 Jun 2012
Trial version             Type RAR -? for help

Archive foo.rar

Pathname/Comment
                  Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
-------------------------------------------------------------------------------
 dir1/subdir1/file
                     0        8   0% 30-03-15 19:00 -rw-r--r-- 00000000 m3b 2.9
 dir1/file
                     0        8   0% 30-03-15 19:29 -rw-r--r-- 00000000 m3b 2.9
 dir1/subdir1
                     0        0   0% 30-03-15 19:00 drwxr-xr-x 00000000 m0  2.0
 dir1
                     0        0   0% 30-03-15 19:29 drwxr-xr-x 00000000 m0  2.0
 dir2
                     0        0   0% 30-03-15 19:07 drwxr-xr-x 00000000 m0  2.0
-------------------------------------------------------------------------------
    5                0       16   0%


-----
Archive 'foo.tar.bz'
-----
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/

-----
Archive 'foo.tar.gz'
-----
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/

-----
Archive 'foo.tbz'
-----
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/

-----
Archive 'foo.zip'
-----
Archive contains:
  dir1/
  dir1/subdir1/
  dir1/subdir1/file
  dir1/file
  dir2/
Total 5 entries (0 bytes)

Dan karena seseorang menyebutkan bahwa editor yang lebih rendah, tentu saja, emacs juga dapat melakukan ini:

emacs showing an archive's contents


8
2018-03-30 16:45





Mengapa tidak digunakan vim untuk menelusuri arsip Anda dan membuka file (setidaknya file mirip teks):

vim archive.tar.gz

enter image description here

Tekan tombol panah untuk menggulir dan Memasukkan untuk membuka file.


6
2018-03-30 15:43





Komandan Tengah Malam (mc) juga memiliki penampil file terkompresi yang baik, meskipun saya menganggap ini sedikit curang sejak mc aku s file manager, meskipun yang berbasis teks.

Juga, jika semua yang Anda inginkan adalah untuk melihat apa yang ada di dalam arsip terkompresi, Anda bisa mempelajari perintah "view" untuk setiap kompresor. tar tzvf akan menunjukkan isi file tar, unzip -l akan melakukannya untuk file zip, dan seterusnya.


4
2018-03-30 15:52





Menggunakan view filename.tar.gz  juga akan berfungsi. banyak dengan cara yang sama vim, tetapi tanpa izin menulis.


2
2018-01-22 13:44