Dtrx - Linux için Akıllı Arşiv Çıkarma (tar, zip, cpio, rpm, deb, rar) Aracı


Hepimiz Linux tar.gz, tar.bz2, tbz komutlarını kullanırken bir noktada bir durumla karşılaşmış olabiliriz. . O kadar çok arşiv türü, hatırlanacak o kadar çok komut var ki... dtrx aracı sayesinde artık öyle değil.

  1. Linux'ta Arşiv Oluşturmak ve Çıkarmak için 18 Tar Komutu
  2. Linux'ta RAR Dosyaları Nasıl Açılır, Çıkarılır ve Oluşturulur

Dtrx nedir?

Dtrx, "Doğru Çıkartmayı Yapın" anlamına gelir; arşiv çıkarma işinizi kolaylaştıran *nix sistemleri için açık kaynaklı ve çok etkili bir komut satırı uygulamasıdır.

dtrx komutu, "tar -zxvf" veya "tar -xjf" komutlarının yerine geçmiştir ve arşivleri çıkarmak için tek bir komut sağlar tar, zip, rpm, deb, gem dahil olmak üzere çok sayıda farklı formatta , 7z, cpio, rar ve çok daha fazlası. Ayrıca bzip2, gzip vb. ile sıkıştırılmış dosyaları açmak için de kullanılabilir.

Varsayılan olarak, dtrx içeriği özel bir dizine ayıklar ve aynı zamanda sahibinin içeriği okuyabildiğinden ve yazabildiğinden emin olmak için içeriği ayıklarken kullanıcının karşılaştığı izin sorunlarını (izin reddedildi gibi) düzeltir. bu dosyalar.

Dtrx Özellikleri

  1. Birçok arşiv türünü yönetir: Tar, zip, rar, gz, bz2, xz, rpm, deb, gem, kendi kendine açılan zip dosyalarını ve diğer birçok exe dosyası biçimini ayıklamak için yalnızca tek bir basit komut sağlar .
  2. Her şeyi düzenli tutar: Arşivleri kendi özel dizinlerine çıkarır.
  3. Akıllı izinler: Ayrıca, kullanıcının çıkarma işleminden sonra tüm bu dosyaları okuyup yazabilmesini ve iznin bozulmamasını sağlar.
  4. Yinelemeli çıkarma: Arşiv içindeki arşivleri bulabilir ve bunları da çıkarabilir.

Linux'ta Dtrx Nasıl Kurulur

Dtrx aracı varsayılan olarak Ubuntu depolarına dahil edilmiştir; tek yapmanız gereken, sisteminize yüklemek için bir apt-get işlemi yapmaktır.

Debian/Ubuntu/Linux Mint'te

sudo apt-get install dtrx

RHEL/CentOS/Fedora'da

Red Hat tabanlı sistemlerde, dtrx varsayılan depolar yoluyla kullanılamaz; bir dtrx betiği indirmeniz ve root kullanıcısı olarak aşağıdaki komutları kullanarak programı sistem genelinde yüklemeniz gerekir.

wget http://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz
tar -xvf dtrx-7.1.tar.gz 
cd dtrx-7.1
python setup.py install --prefix=/usr/local
Örnek Çıktı
running install
running build
running build_scripts
creating build
creating build/scripts-2.6
copying and adjusting scripts/dtrx -> build/scripts-2.6
changing mode of build/scripts-2.6/dtrx from 644 to 755
running install_scripts
copying build/scripts-2.6/dtrx -> /usr/local/bin
changing mode of /usr/local/bin/dtrx to 755
running install_egg_info
Creating /usr/local/lib/python2.6/site-packages/
Writing /usr/local/lib/python2.6/site-packages/dtrx-7.1-py2.6.egg-info

dtrx Komutu Nasıl Kullanılır

Dtrx komutu, Yüzüklerin Efendisi'nde hepsine hükmeden tek yüzük gibidir. Her arşiv için sözdizimini hatırlamak yerine hatırlamanız gereken tek şey dtrx komutudur.

1. Tek Arşiv Çıkarma

Örnek olarak “tecmint27-12-2013.gz“ isimli arşiv dosyasını çıkartmak istiyorum, herhangi bir flag kullanmadan sadece dtrx komutunu çalıştırıyorum.

[root@tecmint]# dtrx tecmint27-12-2013.gz

Çıkarmayı basitleştirmenin yanı sıra, dosyayı bir klasöre çıkarmak ve belirli bir arşiv içindeki diğer tüm arşivleri yinelemeli olarak çıkarmak gibi bir dizi başka seçeneğe de sahiptir.

2. Birden Fazla Arşivin Çıkarılması

dtr1.zip, dtr2.zip ve dtr3.zip<'den oluşan bir “dtrAll.zip” dosyanız olduğunu düşünün. her biri sırasıyla dtr1,dtr2 ve dtr3'ten oluşur. Önce dtrAll zip dosyasını manuel olarak çıkarmak ve ardından dtr1, dtr2 ve dtr3 dosyalarının her birini çıkarmak yerine dtrx'i kullanarak doğrudan ilgili klasörlere çıkarabilirsiniz ve “a” seçeneğini seçerek tüm zip dosyalarını yinelemeli olarak çıkarır.

[root@tecmint]# dtrx dtrAll.zip
Örnek Çıktı
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) a

Çıkarma işleminden sonra, çıkarılan dizinin içeriği ls komutu kullanılarak doğrulanabilir.

[root@tecmint]# cd dtrAll
[root@tecmint]# ls 

dtr1  dtr1.zip  dtr2  dtr2.zip  dtr3  dtr3.zip

3. Belirli Arşivin Çıkarılması

Diyelim ki içindeki arşivleri değil, ilk arşivi çıkarmak istiyorsunuz. N seçildiğinde yalnızca verilen arşiv çıkarılır, içindeki diğer arşivler çıkarılmaz.

[root@tecmint]# dtrx dtrAll.zip
Örnek Çıktı
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) N

Çıkarılan dizinin içeriği gösterildiği gibi ls komutu kullanılarak doğrulanabilir.

[root@tecmint]# cd dtrAll
[root@tecmint]# ls

dtr1.zip dtr2.zip dtr3.zip

4. Arşivin Her Katmanını Çıkarın

Arşivin içindeki her bir arşiv katmanını duruma göre çıkarmak için, yani arşivin 2. katmanını çıkarmak istiyorsanız ancak 3. katmanı çıkarmak istemiyorsanız, “o” seçeneğini kullanabilirsiniz.

İçeriğinde “dtrAll.zip” ve “dtrNew” bulunan bir “dtrNewAll.zip” zip dosyanız olduğunu düşünün. Artık “dtrNewAll” ve “dtrAll” içeriğini de çıkarmak istiyorsanız ancak dtr1.zip'in içeriğini çıkarmak istemiyorsanız, dtr2 .zip ve dtr3.zip, aşağıda gösterildiği gibi “o” ve “n” seçeneklerini kullanabilirsiniz.

dtrx dtrNewAll.zip
Örnek Çıktı
dtrNewAll.zip contains 1 other archive file(s), out of 2 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) o
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total.
You can:
 * _A_lways extract included archives during this session
 * extract included archives this _O_nce
 * choose _N_ot to extract included archives this once
 * ne_V_er extract included archives during this session
 * _L_ist included archives
What do you want to do?  (a/o/N/v/l) n

Çıkarılan dizinin içeriği gösterildiği gibi ls komutu kullanılarak doğrulanabilir.

[root@tecmint]# cd dtrNewAll
[root@tecmint]# ls

dtrAll  dtrAll.zip  dtrNew
[root@tecmint]# cd dtrAll
[root@tecmint]# ls

dtr1.zip dtr2.zip dtr3.zip

Öncelikle “o” seçeneğini seçiyoruz, bu da dtrNewAll içindeki tüm arşivlerin çıkartılacağı anlamına geliyor. Daha sonra dtrAll.zip için “n” seçeneğini seçiyoruz, bu da içindeki arşivlerin dtr1.zip , dtr2.zip olduğu anlamına geliyor ve dtr3.zip çıkartılmayacaktır.

5. .deb, .rpm ve .gem dosyalarından meta verileri çıkarın

-m” seçeneği meta verileri .deb, .rpm ve .gem arşivlerinden çıkarır, normal içerikleri yerine. İşte komutun bir örneği.

[root@tecmint]# dtrx -m openfire_3.8.2_all.deb 
[root@tecmint]# dtrx -m openfire-3.8.2-1.i386.rpm
[root@tecmint]# ls

conffiles  control  md5sums  postinst  postrm  prerm

Keşfedilecek çok daha fazla dtrx seçeneği var; mevcut seçenekleri listelemek için “dtrx –help” komutunu çalıştırmanız yeterli.

[root@tecmint]# dtrx  --help

Usage: dtrx [options] archive [archive2 ...]

Intelligent archive extractor

Options:
  --version             	show program's version number and exit
  -h, --help            	show this help message and exit
  -l, -t, --list, --table      	list contents of archives on standard output
  -m, --metadata        	extract metadata from a .deb/.gem
  -r, --recursive       	extract archives contained in the ones listed
  -n, --noninteractive  	don't ask how to handle special cases
  -o, --overwrite       	overwrite any existing target output
  -f, --flat, --no-directory    extract everything to the current directory
  -v, --verbose         	be verbose/print debugging information
  -q, --quiet           	suppress warning/error messages

Referans Bağlantıları

dtrx Ana Sayfası

Bence dtrx'i denemelisiniz, çünkü bu, herhangi bir arşiv dosyası biçimindeki sıkıştırmayı açmak için tek bir komut veren tek güçlü komut satırı aracıdır. Şimdilik bu kadar, yorum kısmına notunuzu bırakmayı unutmayın.