Tar komutu şunun kısaltmasıdır: bant arşivi Linux'ta. Bu komut Arşiv oluşturmak ve arşiv dosyalarını çıkarmak için kullanılır. İçinde Linux Arşivleme işlevini kolaylaştıran temel komutlardan biridir. Bu komutu sıkıştırılmamış ve sıkıştırılmış arşiv dosyaları oluşturmak ve bunları değiştirmek ve bakımını yapmak için kullanabiliriz.
Tar, bilgisayarlarda birden fazla dosyayı tek bir arşiv dosyasında toplayan bir bilgisayar yazılımı yardımcı programıdır. Genellikle yedekleme ve dağıtım amacıyla tarball olarak bilinir. Başlık 'teyp arşivinden' alınmıştır çünkü aslında dosya sistemlerinden hiçbirini kullanmayan sıralı G/Ç aygıtlarındaki verileri belirtmek için geliştirilmiştir. Tar tarafından oluşturulan arşiv veri grupları, dizin organizasyonu, dosya erişim izni, sahiplik, zaman damgaları ve ad gibi birçok dosya sistemi parametresini içerir. Pax lehine POSIX katranı terk etti, katran henüz yaygın olarak kullanılıyor.
İlk olarak Ocak 1979'da tp programının yerine geçen Unix Sürüm 7'de duyuruldu. Verileri depolamak için dosya yapısı POSIX.1-1988 ve daha sonra POSIX.1-2001'de standartlaştırıldı ve neredeyse tüm modern dosya arşivleme sistemleri tarafından desteklenen bir model haline geldi. Unix benzeri işletim sistemleri genellikle tar dosyalarını destekleyen araçlar ve bunları sıkıştırmak için kullanılan bzip2 ve gzip gibi yardımcı programları içerir.
Microsoft 10 Nisan 2018 Güncellemesinden bu yana, BSD-tar Microsoft Windows'ta bulunmaktadır ve bu kalıpları Windows'ta okumak ve yazmak için iki veya daha fazla üçüncü taraf araç bulunmaktadır.
tar dosya formatları
Güncel ve geçmiş olanlar da dahil olmak üzere birçok tar dosyası formatı mevcuttur. POSIX'te iki tar formatı yazılmıştır: pax ve ustar.
Başlık
Dosya başlığı kaydı bir dosyanın meta verilerini içerir. Başlık kaydında, farklı bayt sıralamaları kullanan farklı mimariler arasında esneklik sağlamak için bilgiler ASCII standartlarında kodlanır. Dolayısıyla, bir arşivdeki her dosya bir ASCII metin dosyasıysa ve ASCII adları içeriyorsa, arşiv bir ASCII metin dosyasıdır (birkaç NUL karakterine sahiptir).
Aşağıdaki tabloda gerçek Unix tar formatına göre tanımlanan çeşitli alanlardan bahsedilmektedir. Bağlantı dosyası/gösterge türü tablosu birkaç modern uzantı içerir. Bir alan, kullanılmadığı takdirde çeşitli NUL baytlarıyla doldurulur.
POSIX.1-1988 öncesi katran başlığı:
Alan | Alan boyutu | Alan Ofseti |
---|---|---|
Dosya adı | 100 | 0 |
Dosya modu | 8 | 100 |
Sahibin sayısal kullanıcı kimliği | 8 | 108 |
Grubun sayısal kullanıcı kimliği | 8 | 116 |
Bayt dosya boyutu | 12 | 124 |
Sayısal Unix zamanı biçiminde son değişiklik zamanı | 12 | 136 |
Başlık kaydı için sağlama toplamı | 8 | 148 |
Bağlantı göstergesi | 1 | 156 |
Bağlantılı dosya adı | 100 | 157 |
Ustart formatı
Ustar formatında, 1988'den itibaren POSIX IEEE P1003.1 standardı tarafından duyurulan hemen hemen her modern tar programı arşivleri yazar ve okur. Ekstra başlık alanları ekledi. Önceki tar programları ek bilgilerden kaçınıyordu, ancak yeni programlar yeni formatın kullanımda olup olmadığına karar vermek için 'Ustar' dizisinin varlığını kontrol edecek.
Alan | Alan boyutu | Alan Ofseti |
---|---|---|
Önceki formatta olduğu gibi birçok alan | 156 | 0 |
Bayrak yazın | 1 | 156 |
Önceki formattakine benzer alan | 100 | 157 |
'ustar' Ustar göstergesi, ardından NUL | 6 | 257 |
'00' Ustar versiyonu | 2 | 263 |
Sahibinin kullanıcı adı | 32 | 265 |
Sahibin grup adı | 32 | 297 |
Cihazın ana numarası | 8 | 329 |
Cihazın küçük numarası | 8 | 337 |
Dosya adı öneki | 155 | 3. 4. 5 |
POSIX.1-2001/pax
Sun, 1997'de tar formatına uzantı eklemek için bir teknik önerdi. Daha sonra bu, POSIX.1-2001 standardı için onaylandı. Formata pax formatı veya genişletilmiş tar formatı denir. Mtime, atime, linkpath, gname, uname,sizes, gid, uid ve grup/kullanıcı adları ve yol adları için bir karakter kümesi tanımı dahil olmak üzere bazı etiketler POSIX standardı tarafından belirtilir.
Tar'ın temel uygulamaları
Temel uygulamalar köken sırasına göre belirtilmiştir:
Ayrıca çoğu cpio ve pax uygulaması iki veya daha fazla tar dosyası türünü oluşturabilir ve okuyabilir.
tar komutunun sözdizimi:
tar [options] [archive-file] [directory or file to be archived]
Tar komutundaki seçenekler
Tar komutundaki çeşitli seçenekler aşağıda listelenmiştir:
Arşiv Dosyasına Giriş
Arşiv dosyası, meta veri içeren birden fazla dosya içeren bir dosya olarak tanımlanabilir. Bu dosyalar, daha kolay saklama ve taşınabilirlik amacıyla birden fazla veri dosyasını tek bir dosyada bir araya toplamak için kullanılır. Daha az depolama alanı tüketmek amacıyla dosyaları sıkıştırmak için de kullanılabilir.
Tar komutu örnekleri
Tar komutunda yaygın olarak kullanılan önemli örneklerden bazıları şunlardır:
1. -cvf seçeneği ile sıkıştırılmamış tar arşivi oluşturmak
Bu seçenek bir tar dosyasının şu şekilde bilinmesini sağlar: dosya.tar . İçerisindeki her .txt dosyasının arşividir mydir dizin.
Komut aşağıdaki gibidir:
java operatörü
$ tar cvf file.tar *.txt
2. -xvf seçeneği ile arşivden dosyaların çıkarılması
Bu seçenek, dosyaları arşivler aracılığıyla çıkarabilir.
Komut aşağıdaki gibidir:
$ tar xvf file.tar
3. -z seçeneğiyle tar arşivi üzerinden gzip sıkıştırması
Bu seçenek bir tar dosyasının şu şekilde bilinmesini sağlar: file.tar.gz. Her .txt dosyasının arşividir.
Komut aşağıdaki gibidir:
$ tar cvzf file.tar.gz *.txt
4. gzip tar arşivini -xvzf seçeneğiyle çıkartmak
Bu seçenek, dosyaları file.tar.gz tar arşivlenmiş dosyalar aracılığıyla çıkarabilir.
Komut aşağıdaki gibidir:
$ tar xvzf file.tar.gz
5. -j seçeneğiyle sıkıştırılmış tar dosyaları oluşturmak
Bu seçenek arşiv dosyalarını oluşturmamıza ve sıkıştırmamıza yardımcı olacaktır. Hem sıkıştırmayı açma hem de sıkıştırma, gzip'e kıyasla daha fazla zaman alır.
Komut aşağıdaki gibidir:
$ tar cvfj file.tar.tbz hello1.txt
6. Linux'ta belirtilen tek dizinin veya dosyanın tararını kaldırın
Bu seçenek, geçerli dizinimizde veya belirtilen dizin içindeki herhangi bir dosyanın tarını -C seçeneğiyle kaldırmak için kullanılır.
Komut aşağıdaki gibidir:
$ tar -xvf file.tar -C file's path in the directory
Veya,
$ tar -xvf file.tar
7. Linux'ta birden fazla .tar.tbz, .tar.gz, .tar dosyasının tararını kaldırın
Bu seçenek bize yardımcı olacaktır yaymak veya tar.bz2, tar.gz ve tar arşiv dosyasından birden fazla dosyayı çıkarın.
Bu seçeneğin örneği aşağıdaki gibidir:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Veya,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Veya,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Mevcut tar.tbz, tar.gz, tar dosyasının boyutunu kontrol edin
Komut, yukarıda belirtilen arşiv dosyasının boyutunu kilobayt (KB) cinsinden göstermemize yardımcı olacaktır.
Komut aşağıdaki gibidir:
$ tar -czf - file2.tar.tbz | wc -c
Veya,
$ tar -czf - file1.tar.gz | wc -c
Veya,
$ tar -czf - file.tar | wc -c
9. Mevcut tar dosyasını güncelleyin
Linux'ta mevcut bir tar dosyasını güncelleme komutu aşağıdaki gibidir:
$ tar rvf file.tar *.txt
10. İçerik listesi ve tar dosyasını tf seçeneği ile tanımlayın
Bu seçenek tüm arşiv dosyasının listesini listelememize yardımcı olacaktır. Ayrıca herhangi bir tar dosyasındaki belirli içerikleri listeleyebiliriz.
Komut aşağıdaki gibidir:
$ tar tf file.tar
11. -tvf seçeneği ile arşivi görüntüleyin
Linux'ta arşivi görüntülemek için -tvf seçeneğini kullanabiliriz.
Komut aşağıdaki gibidir:
$ tar -tvf file.tar
12. Bir tar dosyası bulmak için dosya adını bağımsız değişken olarak iletin
Bu seçenek arşivlenen dosyaları bilgileriyle birlikte görüntüleyebilir.
Komut aşağıdaki gibidir:
$ tar tvf file.tar filename
13. Aradığımız şeyi aramak için 'grep komutunu' atmak için pipe'ı kullanmak
Bu seçenek, yalnızca belirtilen görseli veya metni listelememize yardımcı olacaktır. kavramak arşivlenmiş dosyalar aracılığıyla.
Komut aşağıdaki gibidir:
$ tar tvf file.tar | grep 'filename.file'
Veya,
$ tar tvf file.tar | grep 'text to search'
Joker Karakterlere Giriş
Alternatif olarak joker karakterler, Linux'ta joker karakter veya joker karakter olarak anılır. Birden fazla karakteri temsil etmek veya değiştirmek için kullanılan bir semboldür.
Tipik olarak joker karakterler, tek bir karakteri gösteren bir soru işareti (?) veya birden fazla karakteri gösteren bir yıldız işaretidir (*).
Örnek-
14. .webp formatında bir görsel bulun
File.tar arşivinden yalnızca .webp uzantılı dosyaları çıkarmamıza yardımcı olacaktır. -wildcards seçeneği, çıkartılacak dosya adındaki joker karakterlerin yorumlanması için tar'ı bilgilendirir.
Dosyanın adı (*.webp), joker karakterin (*) herhangi bir kabuk tarafından hatalı şekilde genişletilmesine karşı korunması için tek tırnak işaretleri içine alınmıştır.
Komut aşağıdaki gibidir:
$ tar tvf file.tar --wildcards '*.webp'
Not: Yukarıdaki komutta, o belirli dizinde bulunan her dosyayı almak için dosya adının konumuna '*' simgesi uygulanır.
15. Tar arşivindeki dosyaları silin
Dosyaları ve tar arşivini kaldırmak için --delete seçeneğini kullanabiliriz.
Komut aşağıdaki gibidir:
$ tar --delete -f archive.tar file_name
Örnek:
tar -delete -f file.tar hello1.txt
Çıktı:
merhaba1.txt dosya file.tar arşivinden kaldırıldı: