Büyük katran arşivinin içeriğini hızlı bir şekilde listele


6

Oldukça büyük (gzipli) bir katran arşivi (yaklaşık 37GiB) içeriğini listelemem gerekiyor. tar -ztvf archiveSonsuza kadar sürer. Bu listeyi hızlı bir şekilde almanın bir yolu var mı? Muhtemelen sadece belli bir dizin derinliğine kadar olan içerikleri listeleyerek mi?

İçeriği daha hızlı listelemek için arşivi paketlerken bir şey yapabilir miyim?


2
Sanırım bir dahaki sefere büyük dosyaları topladığımda, bunun yerine darı deneyeceğim .
Thomas Arildsen

Yanıtlar:


2

Bu nedenle, bir çıktı dosyası oluşturacak olan "tar" kullanarak bir arşiv yapmış olduğunuz bir dizi dosyaya sahipsiniz . Ardından, bu ".tar" dosyasını bir ".zip" içine sıkıştırmak için "gzip" i kullandınız .

Bu durumda, tüm dosyaların bir listesini alma sonra süreç ise ".tar" dosyasında, gerektirir ".tar" dosya tam olmalıdır fermuarını gelen ".zip" içeriğine önce, dosyanın " .tar " dosyası listelenebilir.

Bu, her zaman "doğrudan" bir ".zip" dosyasında depolanan dosyaların bir listesini almaktan daha fazla zaman alacaktır . Dosya büyükse, bu sefer önemli olabilir.

Sıkıştırılmış bir arşiv dosyasındaki dosyaları listelemek için gereken süreyi azaltmak istiyorsanız, o zaman:

  1. ".tar" dosyasını ".zip" dosyasından sıkıştırın (sıkıştırmayı açın ) ve elde edilen ".tar" dosyasını temelli dosya kümesine genişletin

  2. doğrudan dosya grubundan bir ".zip" dosyası oluşturun .

Bu şekilde, arşiv dosyasındaki dosyalar arşivi açmadan listelenebilir.


2

-zungzipveya gziptar dosyası anlamına gelir . Tar kendisi sıkıştırma olmadan demetleri. Gzip yaptığınızda, yapabileceğiniz pek bir şey yok, meta veriler sıkıştırılmış tar dosyasında.

$ gunzip -l co.tar.gz 
         compressed        uncompressed  ratio uncompressed_name
             177183             1044480  83.0% file.tar

Hepsi gzip görüyor. Katile geri dönebilmek için silah sesi almalısın. Bunu aşmanın Unix yolu basitçe bir tezahür üretip find . > MANIFESTonunla birlikte göndermektir. Ancak, .tar.gzbasitçe kullanmak yerine meta verileri sıkıştırmayan farklı bir format göndermek yerine başka seçenekler de var . Bence 7zipbu tanıma uyuyor.

Daha yakın zamanlarda, insanlar kullanmaya almış sha1sumveya md5sumdüzenli MANIFEST daha iyi bir plan.

find destination/ -type f -exec sha1sum {} +; > sha1sum

Bu, aynı zamanda oldukça kolay bir şekilde kontrol edilebilir ancak gereksizdir, çünkü hem tar hem de gzip, dahili olarak sağlama toplamı sağlar,

sha1sum -c ./sha1sum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.