Çoğu zaman commad-line kullanarak farklı arşivlenmiş dosyaları çıkarmam gerekiyor. Ancak her zaman dosya arşivi için tam komutu hatırlamıyorum. Yani, zaman kaybetmek ve tekrar aramak zorundayım. Bundan nasıl kaçınabilirim?
Çoğu zaman commad-line kullanarak farklı arşivlenmiş dosyaları çıkarmam gerekiyor. Ancak her zaman dosya arşivi için tam komutu hatırlamıyorum. Yani, zaman kaybetmek ve tekrar aramak zorundayım. Bundan nasıl kaçınabilirim?
Yanıtlar:
dtrx
Komut o konuda arkadaşın.
Herhangi bir arşiv dosyasını türünü tahmin ederek açar. Ayrıca, açtığınız dosyaların yeni bir dizine yerleştirilmesini sağlar; Mevcut çalışma dizinini tonlarca dosya ile karıştırmaktan kaçının.
sudo aptitude install dtrx
dtrx stuff.zip
Aşağıdaki kabuk betiğini kullanabilirsiniz (adlandırdım extract
ve koydum ~/bin
):
#! / Bin / bash [$ # -lt 1] ise; echo "Kullanım:` basename $ 0` FILES " çıkış 1 fi # Https://unix.stackexchange.com/a/168/37944 # adresinde aşağıdaki işlevi buldum ve bunu biraz geliştirdim. Bu fikir için sydo'ya çok teşekkürler . Ayıkla () { $ @ için arg için; yapmak eğer [-f $ arg]; sonra case $ arg in * .tar.bz2) tar xjf $ arg ;; * .tar.gz) tar xzf $ arg ;; * .bz2) bunzip2 $ arg ;; * .gz) gunzip $ arg ;; * .tar) tar xf $ arg ;; * .tbz2) tar xjf $ arg ;; * .tgz) tar xzf $ arg ;; * .zip) $ arg; unzip ;; * .Z) $ arg; uncompress ;; * .rar) rar x $ arg ;; # 'rar' kurulmalıdır * .jar) kavanoz -xvf $ arg ;; # 'jdk' kurulmalı *) echo "'$ arg' özü ()" ile çıkarılamaz ;; esac Başka echo "'$ arg' geçerli bir dosya değil" fi tamam } $ @ çıkar
Komut dosyasını yürütülebilir hale getirmeyi unutmayın:
chmod +x ~/bin/extract
Kullanımı:
ayıklamak file_1 file_2 ... file_n
basename $arg
yardımcı olabilir.
atool
, birden çok biçimi ayıklayabileceğiniz / paketleyebileceğiniz: Ayrıca bu soru için verdiğim yanıta bakın: komut satırı-arşiv-yönetici- ayıklayıcı . Bu soru da bunun bir kopyasıdır, bu yüzden muhtemelen birleştirilmelidir.