Pax (komut) - pax (command) - Wikipedia

Sulh
Windows NT pax komutu
Windows NT Sulh komut
Geliştirici (ler)Çeşitli açık kaynak ve ticari geliştiriciler
İlk sürüm1995; 25 yıl önce (1995)
İşletim sistemiUnix ve Unix benzeri, IBM i, Microsoft Windows
PlatformÇapraz platform
TürKomut

Sulh bir arşivleme programı tarafından yaratıldı POSIX[çelişkili ]1995 yılından beri tanımlanmaktadır.[1] Aralarında sürünen uyumsuz seçenekleri sıralamak yerine katran ve cpio, çeşitli sürümlerindeki uygulamalarıyla birlikte Unix, IEEE her iki arşivleyiciden yararlı seçeneklerle çeşitli arşiv biçimlerini destekleyebilecek yeni bir arşiv aracı tasarladı. Sulh komut Unix'te mevcuttur ve Unix benzeri işletim sistemleri ve üzerinde IBM i,[2] Microsoft Windows NT,[3] ve Windows 2000.

IEEE, 2001'de yeni bir Sulh temelde format katran ek genişletilmiş özniteliklerle.[4]

"Pax" adı, taşınabilir arşiv değişimi. Komut çağrısı ve yapısı, bir şekilde ikisinin birleşimidir. katran ve cpio.

Tarih

Pax programının bir versiyonu Keith Muller tarafından 1992–1993'te oluşturuldu. Sürüm ilk olarak 4.4 BSD (1995).[5] Yolcu kabul edildi X / Açık sorun 4 (Tek Unix Spesifikasyonu sürüm 1) 1995'te.[1] Pax'ın bu sürümleri yalnızca komut satırı arayüzünü tar / cpio karması olarak tanımladı, ancak pax dosya formatı henüz tanımlanmadı. (Pax'ı tanımlama çalışması büyük olasılıkla Muller'in çalışmasından önce geliyor; 1991 yılının başında POSIX.2 ve IEEE 1003.1b taslaklarında olduğu görülüyor.)

1997'de, Sun Microsystems ustar biçimine uzantı eklemek için bir yöntem önerdi. Bu yöntem daha sonra POSIX.1-2001 standardı için yeni olarak kabul edildi. Sulh dosya formatı. İçin POSIX belirtimi Sulh yardımcı program bu biçimi içerecek şekilde güncellendi.[1]

Özellikleri

Modları

pax, aşağıdakilerin bir kombinasyonu ile çağrılan dört genel moda sahiptir. -r ("oku ve -w ("yazma") seçenekleri.

Bu tablo modsal davranışı özetlemektedir:

SeçenekModAçıklama
(Yok)"liste"arşiv içeriğini gösterir, hiçbir şeyi değiştirmez veya çıkarmaz.
-r"oku"bir arşivin içeriğini okur ve çıkarır
-w"yazmak"arşiv oluşturur veya bir arşive dosya ekler
-rw"kopyala"dosyaları ve dizin ağacını okur ve belirli bir dizine kopyalar

Bu model, benzer bir temel işlemler kümesine sahip olan cpio'ya benzer.

Örnekler

Bir arşivin içeriğini listeleyin:

$ pax 

Bir arşivin içeriğini mevcut dizine çıkartın:

$ pax -r 

Mevcut dizinin bir arşivini oluşturun:

$ printf '.' | pax -w> archive.tar$ pax -w. > archive.tar

Geçerli dizin ağacını başka bir konuma kopyalayın:

$ printf '.' | pax -w> archive.tar$ pax -rw target_dir.

(Hedef dizin zorunlu önceden var!)

Komut çağırma

Varsayılan olarak, arşivleme ve listeleme işlemleri için standart girdi / çıktı kullanır, ancak "tar-stili" seçeneğiyle bunun üzerine yazılabilir. -f arşiv dosyasını belirtir. Pax, bir dizinin içeriğini özyinelemeli olarak dikkate alarak cpio'dan farklıdır; bu davranışı devre dışı bırakmak için POSIX pax'ın bir seçeneği vardır -d devre dışı bırakmak için.

Sulh komut bir karışıklıktır cpio ve katran özellikleri. Sevmek katran, Sulh dizin girdilerini yinelemeli olarak işler, bu özellik ile devre dışı bırakılabilir -d cpio tarzı davranış için. Dosya giriş / çıkışlarının işlenmesi de bir karışımdır: komut satırında bir dosya adları listesi belirtildiğinde, kabuk küreler dosya girişi veya listeleme için (tar benzeri); aksi takdirde Sulh alır cpioBir dosya listesi için standart girdiyi kullanmanın tarzı davranışı. En sonunda, Sulh tar kullanarak adlandırılmış bir arşiv dosyasına okumayı / yazmayı destekler -f DOSYA seçeneği.

Örneğin, mevcut dizinin cpio tarzı bir arşivlenmesi istenirse, Sulh ile kullanılabilir bulmak tıpkı cpio kullananların yaptığı gibi:

$ bul. derinlemesine baskı | pax -wd> archive.tar

(Bu yapı, herhangi bir filtre olmadan anlamsızdır. bulmakyukarıdaki örnekle aynı hale geldiği için.)

Bir arşivin içeriğini çıkarma komutu ile aynıdır. cpio:

$ pax -r 

Bu komutları bir katran-like sözdizimi:

$ pax -wf archive.tar. # write (arşiv)$ pax -rf arşiv.tar # oku (özü)$ pax -f archive.tar # liste$ pax -rw. archive_dir # kopya

Sıkıştırma

Çoğu pax uygulaması, -z (gzip ) ve -j (bzip2 ) sıkıştırma için anahtarlar; ancak bu özellik POSIX tarafından belirtilmemiştir. Pax'ın sıkıştırılmış arşivlere eklenemeyeceğine dikkat etmek önemlidir.
Gzip ile sıkıştırılmış bir arşivi çıkarmak için örnek:

$ pax -rzf archive.tar.gz

Katran ve cpio'da olduğu gibi, pax çıkışı başka bir kompresör / dekompresör programına aktarılabilir. Örnek olarak xz burada kullanılır:

$ pax -w. | xz> archive.tar.xz

ve girdi olarak xz ile sıkıştırılmış bir arşivi listelemek:

$ xzcat archive.tar.xz | Sulh

Format desteği

Neredeyse tüm mevcut sürümleri Sulh orijinal 4.4BSD uygulamasından kaynaklanmıştır. Çoğu, bu sürüm tarafından desteklenen ve şu yolla seçilebilen biçimleri devralır: -x seçenek:

  • cpio - IEEE Std 1003.2 ("POSIX.2") standardında belirtilen genişletilmiş cpio değişim formatı.
  • bcpio - Eski ikili cpio biçimi.
  • sv4cpio - System V sürüm 4 cpio.
  • sv4crc - System V, crc sağlama toplamları içeren 4 cpio sürümü.
  • katran - BSD4.3'te bulunan eski BSD tar biçimi.
  • ustar (varsayılan) - IEEE Std 1003.2 ("POSIX.2") standardında belirtilen katran değişim formatı.

Özellikle, 2001'e verilen destek Sulh biçim bu eski pax tarafından desteklenmiyor. Çoğu Linux dağıtımında durum budur ( MirBSD şube pf MirCPIO-paxmirabilis)[6][7][8] ve üzerinde FreeBSD.[5]

Heirloom Projesi pax'ın desteği var Sulh destek ve birçok ekstra format.[9]

Birden çok cilt

pax birden çok ciltte arşivlemeyi destekler. Bir cildin sonuna ulaşıldığında, aşağıdaki mesaj belirir:

$ pax -wf / dev / fd0.DİKKAT! pax arşiv hacmi değişikliği gerekli./ dev / fd0 arşive hazır cilt: 2SONRAKİ DEPOLAMA ORTAMINI (gerekirse) yükleyin ve YAZMA ETKİN olduğundan emin olun.Devam etmek için "y" yazın. " pax'tan çıkmak için veya "s" yeni cihaza geçmek için.Depolama ortamını değiştiremiyorsanız, "s" yazınCihaz hazır ve çevrimiçi mi? >

Bir arşivi birden fazla medyadan geri yüklerken, pax, arşivin bitiminden önce medyanın sonuna ulaşıldığında aynı şekilde bir sonraki medyayı ister.

Standardizasyon, alım ve popülerlik

2001 yılında IEEE tarafından standardize edilmesine rağmen, 2010 itibariyle, pax nispeten az popülerliğe veya benimsenmeye sahiptir.[kaynak belirtilmeli ] Bu kısmen, Unix kullanıcılarının buna ihtiyaç duymamasından kaynaklanıyor; daha tutarlı bir arayüze sahip olmak isteyen sadece POSIX komitesiydi. Pax ayrıca oldukça konuşkan ve işler ters gittiğinde kullanıcı etkileşimlerini bekler.[kaynak belirtilmeli ]

pax'ın tüm uyumlu sistemlerde bulunması gerekmektedir. Linux Standart Tabanı 3.0 sürümünden beri (6 Temmuz 2005'te yayınlandı),[10] ama şimdiye kadar çok az Linux dağıtımları varsayılan olarak gönderin ve kurun. Ancak, çoğu dağıtım pax'ı ayrı olarak kurulabilir bir paket olarak içerir.

pax da mevcuttu Windows NT, dosya arşivleriyle sınırlı olduğu yerlerde (bantlar desteklenmez).[3] Daha sonra şu adrese taşındı: Interix alt sistem. Arşivlemeyi veya geri yüklemeyi desteklemiyor Win32 EKL'ler.[11]

Tarafından ele alınan paketler Yükleyici (OS X) genellikle içeriklerinin büyük bir kısmını, sistemin pax (yadigarı) yardımcı programı kullanılarak okunabilen bir Archive.pax.gz dosyasında taşır.[12]

Ayrıca bakınız

Referanslar

  1. ^ a b c Açık Grup Temel Özellikleri Sayı 6 - POSIX.1-2001 (IEEE Std 1003.1) Telif Hakkı © 2001-2004 IEEE ve Açık Grup
  2. ^ IBM. "IBM System i Sürüm 7.2 Programlama Qshell" (PDF). Alındı 2020-09-05.
  3. ^ a b Eric Pearce (1997). Özetle Windows NT: sistem yöneticileri için masaüstü hızlı başvurusu. O'Reilly Media, Inc. s.271. ISBN  978-1-56592-251-8.
  4. ^ "GNU tar 1.30: 8.1 Sıkıştırma Yoluyla Daha Az Yer Kullanma". www.gnu.org. Alındı 22 Nisan 2018.
  5. ^ a b kişi sayısı (1) – FreeBSD Genel Komutlar Manuel
  6. ^ "MirCPIO - paxmirabilis: katran ve hatta ar!". MirBSD. Alındı 24 Ocak 2020.
  7. ^ "Launchpad'de MirCPIO". launchpad.net. Alındı 22 Nisan 2018.
  8. ^ "Hata # 456405" pax "pax" formatı desteği eksikliği LSB'de başarısız oluyor ": Hatalar: MirCPIO". bugs.launchpad.net. Alındı 22 Nisan 2018.
  9. ^ "pax.1". heirloom.sourceforge.net. Alındı 22 Nisan 2018.
  10. ^ LSB 3.0 sürüm notları Arşivlendi 2011-07-17 de Wayback Makinesi pax'ın eklendiğini unutmayın: LSB 3.0. Komutlar ve Yardımcı Programlar pax gerektirir, ancak LSB 2.1.0. Komutlar ve Yardımcı Programlar gerektirmez
  11. ^ http://support.microsoft.com/kb/246322
  12. ^ "Bir pax.gz paketinden dosya çıkarma". cocoabuilder.com. Arşivlenen orijinal 14 Şubat 2015. Alındı 15 Ağustos 2013.

daha fazla okuma

Dış bağlantılar