Özet
cpio -i [seçenekler] [şablon ...] [< arşiv]
cpio -o [seçenekler] < isim-listesi [> arşiv]
cpio -p [seçenekler] hedef-dizin < isim-listesi
Açıklama
cpio, arşivler ve dizinler arasında dosya kopyalar. Bu uygulama; tar, pax, cpio, zip, jar,
ar ve ISO 9660 CD-ROM imajlarından çıkarma (extract) yapabilir ve tar, pax, cpio, ar ve
shar arşivleri oluşturabilir.
cpio için ilk seçenek aşağıdaki mod göstergelerinden biridir:
-i: Girdi. Standart girdiden bir arşivi okur (aksi belirtilmedikçe) ve içeriği diske çıkarır veya-tseçeneği belirtilmişse içeriği standart çıktıda listeler. Bir veya daha fazla dosya şablonu belirtilirse yalnızca şablonlardan biriyle eşleşen dosyalar çıkarılır.-o: Çıktı. Standart girdiden dosya isimlerinin bir listesini okur ve standart çıktıda (aksi belirtilmedikçe) belirtilen öğeleri içeren yeni bir arşiv üretir.-p: Doğrudan geçiş (pass-through). Standart girdiden dosya isimlerinin bir listesini okur ve dosyaları belirtilen dizine kopyalar.
Seçenekler
Özellikle aksi belirtilmedikçe, seçenekler tüm çalışma modlarında geçerlidir.
-0,--null
Yeni satırlar yerine NUL karakterleriyle ayrılmış dosya isimlerini okur. Okunan dosya isimlerinden herhangi birinin yeni satır karakteri içerme olasılığı varsa bu gereklidir.-6,--pwb
İkili (binary) formatta bir arşiv okurken, bunun 6. Sürüm UNIX'in PWB varyantından kalan daha eski bir format olduğunu varsayar. Bircpioarşivi yazarken PWB formatını kullanır.-7,--binary
Yalnızcaomodunda kullanılır. Bircpioarşivi yazarken daha yeni, PWB olmayan ikili formatı kullanır.-A
Yalnızcaomodunda kullanılır. Belirtilen arşive ekleme (append) yapar. Henüz uygulanmadı.-aovepmodlarında kullanılır. Dosyalar okunduktan sonra erişim sürelerini (access times) sıfırlar.-B
Yalnızcaomodunda kullanılır. Çıktıyı 5120 baytlık kayıtlara bloklar.-C boyut
Yalnızcaomodunda kullanılır. Çıktıyı belirtilen bayt boyutundaki kayıtlara bloklar.-c
Yalnızcaomodunda kullanılır. Eski POSIX taşınabilir karakter formatını kullanır.--format odcile eşdeğerdir.-d,--make-directoriesivepmodlarında kullanılır. Gerektiğinde dizinleri oluşturur.-E dosya
Yalnızcaimodunda kullanılır. Listelemek ve çıkarmak için dosya şablonlarının listesini belirtilen dosyadan okur.-F dosya,--file dosya
Arşivi belirtilen dosyadan okur veya arşivi o dosyaya yazar.-f şablon
Yalnızcaimodunda kullanılır. Şablonla eşleşen dosyaları yoksayar.-H format,--format format
Yalnızcaomodunda kullanılır. Çıktı arşivini belirtilen formatta üretir. Desteklenen formatlar:cpio odc için eş anlamlıdır. newc SVR4 taşınabilir cpio formatı. odc Eski POSIX.1 taşınabilir sekizli yönelimli (octet-oriented) cpio formatı. pax ustar formatının bir uzantısı olan POSIX.1 pax formatı. ustar POSIX.1 tar formatı.Varsayılan format
odc'dir. Temel alınanlibarchive(3)kütüphanesi tarafından şu anda desteklenen formatlar hakkında daha eksiksiz bilgi içinlibarchive-formats(5)sayfasına bakın.-h,--help
Kullanım bilgisini yazdırır.-I dosya
Arşivi belirtilen dosyadan okur.-i,--extract
Girdi modu. Açıklama için yukarıya bakın.--insecure
Yalnızcaivepmodlarında kullanılır. Çıkarma veya kopyalama sırasında güvenlik kontrollerini devre dışı bırakır. Bu; sembolik bağlantılar, mutlak yollar ve isminde..içeren yol isimleri aracılığıyla çıkarma yapılmasına izin verir.-J,--xz
Yalnızcaomodunda kullanılır. Dosyayı yazmadan önce xz uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; xz sıkıştırması girdide otomatik olarak tanınır.-j-yile eş anlamlıdır.-Lovepmodlarında kullanılır. Tüm sembolik bağlantılar takip edilir. Normalde sembolik bağlantılar, sembolik bağlantı olarak arşivlenir ve kopyalanır. Bu seçenekle, bunun yerine bağlantının hedefi arşivlenir veya kopyalanır.-l,--link
Yalnızcapmodunda kullanılır. Kopyalamak yerine, hedef dizinden orijinal dosyalara bağlantılar (links) oluşturur.--lrzip
Yalnızcaomodunda kullanılır. Elde edilen arşivilrzip(1)ile sıkıştırır. Girdi modunda bu seçenek yoksayılır.--lz4
Yalnızcaomodunda kullanılır. Arşivi yazmadan önce lz4 uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; lz4 sıkıştırması girdide otomatik olarak tanınır.--zstd
Yalnızcaomodunda kullanılır. Arşivi yazmadan önce zstd uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; zstd sıkıştırması girdide otomatik olarak tanınır.--lzma
Yalnızcaomodunda kullanılır. Dosyayı yazmadan önce lzma uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; lzma sıkıştırması girdide otomatik olarak tanınır.--lzop
Yalnızcaomodunda kullanılır. Elde edilen arşivilzop(1)ile sıkıştırır. Girdi modunda bu seçenek yoksayılır.--passphrase parola
Parola, şifrelenmiş bir arşivi çıkarmak veya oluşturmak için kullanılır. Şu anda zip,cpio'nun şifreli arşivleri işleyebildiği tek formattır. Bu seçeneğin kullanımının ne kadar güvensiz olduğunu fark etmediğiniz sürece bu seçeneği kullanmamalısınız.-m,--preserve-modification-timeivepmodlarında kullanılır. Oluşturulan dosyalardaki dosya değişiklik zamanını kaynaktakilerle eşleşecek şekilde ayarlar.-n,--numeric-uid-gidimodunda, yalnızca-tile kullanılır. Sayısaluidvegiddeğerlerini görüntüler. Varsayılan olarakcpio, arşivde sağlandığında kullanıcı ve grup isimlerini görüntüler veya sistem parola veritabanında kullanıcı ve grup isimlerini arar.--no-preserve-owner
Yalnızcaimodunda kullanılır. Dosya sahipliğini geri yüklemeye çalışmaz. Root olmayan kullanıcılar tarafından çalıştırıldığında varsayılan davranış budur.-O dosya
Arşivi belirtilen dosyaya yazar.-o,--create
Çıktı modu. Açıklama için yukarıya bakın.-p,--pass-through
Doğrudan geçiş modu. Açıklama için yukarıya bakın.--preserve-owner
Yalnızcaimodunda kullanılır. Dosya sahipliğini geri yükler. Root kullanıcısı tarafından çalıştırıldığında varsayılan davranış budur.--quiet
Gereksiz mesajları engeller.-R [kullanıcı][:][grup],--owner [kullanıcı][:][grup]
Çıktıdaki dosyaların sahibini ve/veya grubunu ayarlar. Grup bir kullanıcı olmadan belirtilirse (örneğin-R :wheel), grup ayarlanır ancak kullanıcı ayarlanmaz. Kullanıcı, sonunda iki nokta üst üste ile ve grup olmadan belirtilirse (örneğin-R root:), grup kullanıcının varsayılan grubuna ayarlanır. Kullanıcı sonunda iki nokta üst üste olmadan belirtilirse, kullanıcı ayarlanır ancak grup ayarlanmaz.-ive-pmodlarında bu seçenek yalnızca süper kullanıcı tarafından kullanılabilir. Uyumluluk için iki nokta üst üste yerine nokta da kullanılabilir.-r
Tüm modlarda kullanılır. Dosyaları etkileşimli olarak yeniden adlandırır. Her dosya için/dev/ttyaygıtına dosyanın adını içeren bir bilgi istemi yazılır ve/dev/ttyaygıtından bir satır okunur. Okunan satır boşsa dosya atlanır. Satır tek bir nokta içeriyorsa dosya normal şekilde işlenir. Aksi takdirde satır dosyanın yeni adı olarak kabul edilir.-t,--list
Yalnızcaimodunda kullanılır. Arşivin içeriğini standart çıktıya listeler; içeriği diske geri yüklemez.-u,--unconditionalivepmodlarında kullanılır. Mevcut dosyaların üzerine koşulsuz olarak yazar. Normalde, daha eski bir dosya diskteki daha yeni bir dosyanın üzerine yazmaz.-V,--dot
İşlenen her dosya için standart hataya (stderr) bir nokta yazdırır. Yerini-vseçeneğine bırakmıştır.-v,--verbose
İşlenen her dosyanın adını standart hataya (stderr) yazdırır.-tseçeneğiyle birlikte, her dosyanın ayrıntılı bir listesini sunar.--version
Program sürüm bilgisini yazdırır ve çıkar.-y
Yalnızcaomodunda kullanılır. Arşivi yazmadan önce bzip2 uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; bzip2 sıkıştırması girdide otomatik olarak tanınır.-Z
Yalnızcaomodunda kullanılır. Arşivi yazmadan önce compress uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; sıkıştırma girdide otomatik olarak tanınır.-z
Yalnızcaomodunda kullanılır. Arşivi yazmadan önce gzip uyumlu sıkıştırma ile sıkıştırır. Girdi modunda bu seçenek yoksayılır; gzip sıkıştırması girdide otomatik olarak tanınır.
Çıkış Durumu
cpio aracı başarı durumunda 0, bir hata oluştuğunda ise 0 değerinden büyük bir değerle çıkar.
Ortam
Aşağıdaki ortam değişkenleri cpio komutunun yürütülmesini etkiler:
LANG: Kullanılacak yerel ayar. Daha fazla bilgi içinenviron(7)sayfasına bakın.TZ: Tarihleri görüntülerken kullanılacak saat dilimi. Daha fazla bilgi içinenviron(7)sayfasına bakın.
Örnekler
cpio komutu geleneksel olarak find(1) komutuyla birlikte dosya hiyerarşilerini kopyalamak için
kullanılır. Bu örnek, tüm dosyaları src dizininden dest dizinine kopyalar:
find src | cpio -pmud dest
find(1) komutunun seçeneklerini dikkatlice seçerek ve bunu diğer standart araçlarla birleştirerek,
hangi dosyaların kopyalanacağı üzerinde çok hassas bir kontrol sağlamak mümkündür. Bu örnek, src
dizininden dest dizinine 2 günden eski ve isimleri belirli bir şablonla eşleşen dosyaları kopyalar:
find src -mtime +2 | grep foo[bar] | cpio -pdmu dest
Bu örnek, src dizininden dest dizinine 2 günden eski olan ve foobar kelimesini içeren dosyaları
kopyalar:
find src -mtime +2 | xargs grep -l foobar | cpio -pdmu dest
Uyumluluk
i, o ve p mod seçenekleri ile a, B, c, d, f, l, m, r, t, u ve v seçenekleri
SUSv2 ile uyumludur.
Eski POSIX.1 standardı, yalnızca -i, -o ve -p seçeneklerinin komut satırı seçeneği olarak
yorumlanacağını belirtiyordu. Her biri, değiştirici karakterlerin bir listesinden oluşan tek bir
argüman alıyordu. Örneğin, standart sözdizimi -imu seçeneğine izin verir ancak -miu veya
-i -m -u seçeneklerini desteklemez; çünkü m ve u yalnızca -i seçeneğinin değiştiricileridir,
kendi başlarına komut satırı seçenekleri değildir.
Bu uygulama tarafından desteklenen sözdizimi standartla geriye dönük olarak uyumludur. En iyi uyumluluk için betiklerin kendilerini standart sözdizimiyle sınırlandırmaları gerekir.
Ayrıca Bakınız
bzip2(1), gzip(1), mt(1), pax(1), tar(1), libarchive(3), cpio(5),
libarchive-formats(5), tar(5)
Standartlar
cpio komutu için mevcut bir POSIX standardı yoktur. ISO/IEC 9945-1:1996 ("POSIX.1") standardında yer
almış ancak IEEE Std 1003.1-2001 ("POSIX.1") standardından çıkarılmıştır.
cpio, ustar ve pax değişim dosya formatları, pax komutu için IEEE Std 1003.1-2001 ("POSIX.1")
tarafından tanımlanmıştır.
Geçmiş
Orijinal cpio ve find araçları, AT&T'nin Unix Destek Grubu'nda çalışırken Dick Haight tarafından
yazılmıştır. İlk olarak 1977'de, AT&T bünyesinde kullanılmak üzere geliştirilen "Programmer's Work
Bench" sistemi olan PWB/UNIX 1.0 sürümünde yer almışlardır. AT&T dışında ilk kez 1981'de System III
Unix'in bir parçası olarak yayınlanmışlardır. Sonuç olarak cpio, AT&T dışında bir süre sonrasına
kadar pek tanınmasa da aslında tar komutundan daha eskidir.
Bu, libarchive(3) kütüphanesine dayanan tamamen yeniden yapılmış bir uygulamadır.
Hatalar (Bugs)
cpio arşiv formatının birkaç temel sınırlaması vardır: kullanıcı ve grup isimlerini saklamaz, yalnızca
sayıları saklar. Sonuç olarak, farklı kullanıcı ve grup numaralandırmasına sahip sistemler arasında
güvenilir bir şekilde dosya aktarmak için kullanılamaz. Daha eski cpio formatları, kullanıcı ve grup
numaralarını 16 veya 18 bit ile sınırlar; bu modern sistemler için yetersizdir.
cpio arşiv formatları, 8 gigabayta kadar olan dosyaları destekleyebilen odc varyantı hariç,
4 gigabaytın üzerindeki dosyaları destekleyemez.