Komut satırı arşiv yöneticisi / çıkarıcı


15

Her sıkıştırma formatı için ilgili tüm çıkarma komutlarını unutmaya devam ediyorum.

Bu yüzden sadece dosya uzantılarını uygun extract komutuna eşleyen bir komut dosyası yazmayı düşünüyordum. Ama sanırım böyle bir şey zaten var, bulamıyorum.

Dosya silindiri gibi bir şeyle mutlu olurum, ancak dosya silindiri bir GUI aracıdır.

Yanıtlar:


11

Birkaç öneri:

unp

unp (yazılım merkezinden temin edilebilir), çok çeşitli arşivleri geçerli klasöre açacak küçük bir perl modülüdür. unp -sDesteklediği arşiv formatları için kullanın

Varsayılan olarak, arşivleri geçerli klasöre açar.

dosya silindir

dosya silindiri kendisi komut satırından çalıştırılabilir. file-roller -h <archive name>Arşivi açmak için kullanın .


11

Gönderen burada , .bashrc koymak için:

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
} 

Nasıl kullanılacağına dair bir örnek eklensin mi?
MiniGod

4
file.zip
frabjous

4

Henüz belirtilmemiş olan, komut satırı yardımcı programlarının İsviçre-ordu bıçağıdıratool ; depolarda kullanılabilir: atool tıklayın Araç yüklemeveya çalıştırın sudo apt-get install atool.

atoolbir aslında komut , örneğin aunpack, aPACK, ALS, ACAT, adiff gibi çeşitli fonksiyonları içeren ve arepack. Muhtemelen programın en yaygın kullanımı, aunpack komutunu kullanarak arşivleri ayıklamaktır. Birkaç ilginç ve kullanışlı seçenek var, ancak çoğu arşivi çıkarmanın temel yolu sadece çalıştırmaktır, örneğin,

aunpack myarchive.tar

Katran, 7z, zip, jar, rar, ar, lha ve daha birçok arşiv formatı desteği ve varyasyonları man atoolterminale girerek veya Ubuntu man sayfasını çevrimiçi görüntüleyerek belgelenir .

Yani, yararlı olan şey, eğer aynı klasörde bir tar, zip ve gz arşiviniz varsa, hepsini çıkarmak için yapmanız gereken tek şey

aunpack -e *

ve desteklenen tüm arşivler klasör yapısı korunarak paketinden çıkarılır. Elde edilen klasörün adı zaten varsa, üzerine yazılmaz, ancak unpack-5645 gibi benzersiz bir ad verilir.

Veya yalnızca bir tür arşiv seçmek ve hepsini açmak istiyorsanız, bunun yerine

aunpack -e *.zip

Belirli bir dizinde doğrudan açılmış dosyalara ihtiyacınız varsa, yalnızca alt klasör dizini yapısı korunursa (çıkarsa), örneğin,

aunpack -e Scripts11.zip -X /home/mike/Videos

Aynı ada sahip bir dosya zaten varsa, komutta zorla seçeneğini ( -f) belirtmedikçe yeniden adlandırmanız veya üzerine yazmanız istenir .

Manpage'in belirttiği gibi, aunpack ilk önce

dosyaları benzersiz (geçici) bir dizine ekleyin ve mümkünse içeriğini geri taşıyın. Bu, yerel dosyaların yanlışlıkla üzerine yazılmasını da önler.


Diğer araçlarla, kılavuz sayfasında belirtildiği gibi başka eylemler de mümkündür :

  • apack , dosya veya klasör belirtimlerinden veya stdin'den arşiv oluşturur
  • als , belirtilenler arşivindeki dosyaları listeler
  • acat bir stdout arşiv dosyaları ayıklamak sağlar
  • adiff , belirtilen iki arşivi karşılaştırmanıza olanak tanır
  • arepack , orijinal arşivin içeriğini geçici bir klasöre yerleştirip yenisini yeniden paketleyerek bir arşiv biçimini diğerine dönüştürmeyi mümkün kılar.

Tüm yardımcı programlar için çok daha kullanışlı seçenekler var, ancak muhtemelen en çok kullanılanı bir paket olacak, çünkü çoklu arşivleri çıkarmayı çok kolay hale getiriyor. Sadece bir komut verebilmek ve tar, zip, vb. İçin çeşitli komutları kullanmak zorunda kalmadan birden fazla farklı arşiv formatını ayıklamak harika.

Atool işlevlerini Thunar gibi dosya yöneticinizin özel eylemlerine nasıl entegre edeceğinizi açıklayan çok yeni bir makale için bu çevrimiçi dergiye bakın .


3

Bir araç var dtrx- doğru çıkarma yapın.

Ubuntu depolarından yükleyin ve çalıştırın dtrx somefile.someext. Araç, etkileşimli olarak kullanıcıyı iç içe geçmiş arşivler (zip dosyalarının zip dosyası) hakkında sorgulayacaktır.

dtrx, frabjous ekstresinin sofistike bir versiyonudur .


0

Ne tür biçimlerle uğraşmanız gerekiyor? Bunun bir yolu, argümanının uzantılarını kontrol eden bir kabuk betiği yazmaktır. Ya da, tek tar -xfbaşınıza yaptığınız şey .tar. * ' Daki varyasyonlarsa, sadece bunu yapmak otomatik olarak yapacaktır. (Bu nedenle, sadece ve unzipgenellikle karşılaştığım her şey için yeterli olanı hatırlıyorum .)

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.