Tar yordamida. Linuxda fayllarni arxivlash

Uy / Dasturlarni o'rnatish

Linuxda "tar" buyrug'i fayllar va kataloglar arxivini yaratish uchun ishlatiladi. "tar" buyrug'i yordamida siz quyidagi formatlarda arxiv faylini yaratishingiz mumkin: " .tar“, “.tar.gz“, “.tar.bz2" Ular " tarbol“, “gizp“, “bzip“V. Tar, o'zaro faoliyat platformalarda keng qo'llaniladigan ZIP-ga qaraganda ancha moslashuvchan.

Biz ko'rsatamiz tar buyrug'iga misollar ushbu maqolada.

Birinchidan, buyruq uchun qancha variant mavjudligini ko'rib chiqing

Asosiy ish rejimi:

  • -A, -catenate, -concatenate Fayllarni tar arxiviga qo'shish
  • -c, -yangi arxiv yaratish
  • -d, -diff, - solishtiring arxiv va fayl tizimi o'rtasidagi farqlarni toping
  • - arxivdan o'chirishni o'chirish (magnit lentalarda emas!)
  • Arxiv oxiriga fayllar qo'shish -r, -qo'shish
  • -t, -ro'yxat arxiv tarkibi
  • -test-yorlig'ini tekshirish arxivi va chiqish hajmi yorlig'i
  • -u, -update faqat arxivga yangiroq fayllarni qo'shing
  • -x, -extract, -arxivdan fayllarni chiqarib olish

Siqish imkoniyatlari:

  • -a, -avtomatik siqish qo'shimchasi dastur siqilishini aniqlash uchun arxivdan foydalaning
  • -I, –use-compress-program=PROG orqali PROG filtri (-d qabul qilinishi kerak)
  • -j, -bzip2 arxivlash filtri bzip2 orqali
  • -J, -xz filtrini XZ orqali arxivlash
  • -lzip filtrini Lzip orqali arxivlash
  • -lzma filtri lzma orqali arxivlash
  • -lzop
  • -no-auto-compress siqish dasturini aniqlash uchun arxiv qo'shimchasidan foydalanmang
  • -z, -gzip, -gunzip, -ungzip filtr arxivi GZIP orqali
  • -Z, -siqish, -siqish orqali arxivni filtrlash

Namoyish uchun o'rnatuvchini tanlayman. O'rnatuvchining umumiy hajmi 26 MB. Taklif etilgan har bir siqish usulining ziplangan fayl hajmini tekshiramiz.

1. Tar yordamida fayl arxivini yarating

Tar arxivi fayl va papkalarni avtomatik ravishda siqadi. Arxiv diskda saqlanishi yoki boshqa diskka ko'chirilishi yoki elektron pochta ilovasi sifatida ishlatilishi mumkin.

Tar -caf wordpress.tar wordpress/

Arxiv hajmi 23 MB ga qisqartirildi.

2. tar.gz fayl arxivini yarating

GZ Gunzip degan ma'noni anglatadi. .tar.gz arxivi fayl va papkalarni samarali tarzda siqishi mumkin.

Tar -czf wordpress.tar.gz wordpress/

Arxiv hajmi 7,6 Mb ga qisqartirildi. Juda ta'sirli!

# ls -lh -rw-r--r-- 1 ta ildiz ildizi 23M 5-yanvar 22:09 wordpress.tar -rw-r--r-- 1 ta ildiz ildizi 7.6M 5-yanvar 22:15 wordpress.tar.gz

3. tar.bz2 arxivini yarating

BZIP arxiv fayli hajmini kamaytirish uchun samaraliroq.

Tar -cjf wordpress.tar.bz2 wordpress/

Arxiv hajmi 6,9 MB ga qisqartirildi.

# ls -lh -rw-r--r-- 1 ta ildiz ildizi 23M 5 yanvar 22:09 wordpress.tar -rw-r--r-- 1 ta ildiz ildizi 6,9M 5 yanvar 22:27 wordpress.tar.bz2 - rw-r--r-- 1 ta ildiz ildizi 7,6M 5-yanvar 22:26 wordpress.tar.gz

4. Tar fayl arxivini olib tashlang

Har qanday arxivdan foydalanish qulayligi va qulayligi, agar foydali bo'lsa, uni osongina ochish mumkin bo'lganda. Faylni oching .tar

Tar -xf wordpress.tar yoki tar -xf wordpress.tar /home/andreyex/extracted

"X" qutidan chiqarishni bildiradi.

5. tar.gz arxiv faylini oching

tar -xzf wordpress.tar.gz

6. tar.bz2 fayl arxivini ochish

tar -xjf wordpress.tar.bz2 tar tf wordpress.tar wordpress/ wordpress/wp-blog-header.php wordpress/wp-login.php wordpress/wp-config-sample.php wordpress/wp-admin/ wordpress/wp- admin/link-parse-opml.php wordpress/wp-admin/ms-upgrade-network.php wordpress/wp-admin/themes.php

8. Tar arxiv faylidan ma'lum bir faylni olib tashlang

tar -xf wordpress.tar wordpress/wp-config-sample.php

Hammasi yoqilgan hozirgi paytda. Bular asosiy tar buyrug'iga misollar Unix/Linux-da.

smola GNU arxivchisi. tar bir nechta fayl va/yoki kataloglarni oladi va ularni bitta katta faylga birlashtiradi. Bu sizga butun katalog daraxtini siqish imkonini beradi, buni bzip yoki bzip2 bilan qilish mumkin emas. tar ko'plab variantlarga ega, ular uning man sahifasida batafsil tavsiflangan.

$ man tar tar -xvvf foo.tar ekstrakti foo.tar tar -xvvzf foo.tar.gz ekstrakti gziplangan foo.tar.gz tar -cvvf foo.tar foo/ foo.tar ichidagi foo papkasining tar tarkibi

Tez-tez ishlatiladigan tar buyruq variantlari

    C - yangi arxiv yaratish

    X - arxivdan fayllarni chiqarib olish

    –delete – fayllarni arxivdan o‘chirish (o‘chirish).

    R - mavjud arxivga fayllarni qo'shish

    A - mavjud arxivga tar fayllarini qo'shish

    T - arxivdagi fayllar ro'yxati (arxiv tarkibi)

    U - arxivni yangilash

    D – berilgan fayl tizimi bilan arxivni solishtirish operatsiyasi

    Z – gzip va gunzip-dan foydalanish misollari yordamida arxivni qayta ishlash. -c yoki -x bilan birga keladigan kalitlarning kombinatsiyasiga qarab siqish yoki dekompressiya.

    J - bzip2 yordamida arxivga ishlov berish. -c yoki -x bilan birga keladigan kalitlarning kombinatsiyasiga qarab siqish yoki dekompressiya.

tar asosiy harakatlardan birini majburiy ko'rsatish bilan ishga tushiriladi, ularning eng keng tarqalgani arxivlarni yaratish va ochishdir, keyin boshqa parametrlar muayyan operatsiyaga qarab o'rnatiladi.

Tarning eng keng tarqalgan ishlatilishi veb-sayt yoki ftp saytidan yuklab olingan paketni ochish va ochishdir. Aksariyat fayllar .tar.gz kengaytmasiga ega. Ko'pincha ular "tarballs" deb ataladi, bu tar bilan siqilgan va keyin gzip bilan siqilgan fayllarni ham topishingiz mumkin, lekin ular asosan eski Unix tizimlarida mavjud.

Bundan tashqari, siz .tar.bz2 fayllariga duch kelishingiz mumkin. Yadro manba kodi ushbu shaklda taqsimlanadi, chunki u kamroq yuklab olish joyini egallaydi. Siz allaqachon taxmin qilganingizdek, bu tar bilan arxivlangan va bzip bilan siqilgan fayllar.

Bunday arxivdan barcha fayllarni bir nechta buyruq qatori variantlari bilan tar yordamida chiqarib olishingiz mumkin tarbollarni ochish:

% tar -xvzf file.tar.gz

Bu erda juda ko'p variantlar mavjud. Ular nimani anglatadi? -x varianti ekstraksiyani bildiradi. Bu muhim, chunki u targa kirish fayli bilan nima qilish kerakligini aniq aytadi. Ushbu holatda u yana "birga qo'yilgan" fayllarga bo'linadi. -v varianti batafsil rejimni yoqishni anglatadi. Bunday holda, ekranda arxivdan chiqarilgan barcha fayllarning nomlari ko'rsatiladi. Qutini ochish juda zerikarli ko'rinmasligi uchun ushbu variantdan foydalanish yaxshi bo'lardi. Bundan tashqari, chiqishni yanada batafsilroq qilish va chiqarilgan fayllar haqida ko'proq ma'lumot berish uchun -vv dan foydalanishingiz mumkin. -z opsiyasi tar-ga .tar.gz faylini avval gunzip orqali ishga tushirish kerakligini aytadi Va nihoyat, -f opsiyasi tar-ga quyidagi qatorning mavjudligini bildiradi buyruq qatori- bu siz ishlashingiz kerak bo'lgan fayl.

Xuddi shu buyruqni yozishning bir necha usullari mavjud. GNU tarning mos nusxasi bo'lmagan eski tizimlarda xuddi shu buyruq uchun quyidagi yozuvni ko'rishingiz mumkin:

% gunzip file.tar.gz | tar -xvf -

Bu buyruqda fayl avval paketdan chiqariladi va natija targa yuboriladi. Chunki gzip sukut bo'yicha stdout-ga chiqishni yozadi, bu buyruq siqilgan faylni stdout-ga yozadi. Keyin quvur liniyasi bu oqimni dekompressiya uchun qatronga yo'naltiradi. "-" belgisi ma'lumotlarning olinganligini bildiradi standart kirish. Ushbu buyruq gzip-dan olingan ma'lumotlar oqimini ochadi va uni diskka yozadi.

Asl buyruqni yozishning yana bir usuli - variantlardan oldin "-" belgisini olib tashlash:

% tar xvzf file.tar.gz

Shuningdek, siz bzip arxiviga duch kelishingiz mumkin, Slackware Linux-da taqdim etilgan tar versiyasi ular bilan xuddi gziplangan arxivlar bilan ishlay oladi. Faqat -z opsiyasi o'rniga -j dan foydalanishingiz kerak:

% tar -xvjf file.tar.bz2

E'tibor bering, tar arxivdan chiqarilgan fayllarni joriy katalogga saqlaydi. Shunday qilib, agar sizda /tmp-da uy katalogingizga chiqarmoqchi bo'lgan arxivingiz bo'lsa, sizda bir nechta variant bor. Birinchisi, arxivni uy katalogiga ko'chirish va keyin tar yordamida kengaytirish mumkin. Ikkinchidan, buyruq satrida arxivga yo'lni belgilashingiz mumkin. Uchinchidan, tarballni ushbu parametrdan keyin ko'rsatilgan katalogga ochish uchun -C opsiyasidan foydalanishingiz mumkin.

% cd $HOME % cp /tmp/file.tar.gz . % tar -xvzf file.tar.gz % cd $HOME % tar -xvzf /tmp/file.tar.gz % cd / % tar -xvzf /tmp/file.tar.gz -C $HOME

Yuqoridagi barcha yozuvlar ekvivalentdir. Ularning har birida arxiv uy katalogingizga kengaytiriladi va asl siqilgan arxiv joyida qoladi.

Xo'sh, arxivlarni yarata olmasangiz, ularni ochishingizdan nima foyda? tar ham buni qila oladi. Ko'pgina hollarda siz "-x" ni "-c" bilan almashtirishingiz mumkin.

% tar -cvzf file.tar.gz .

Bu buyruqda -c opsiyasi tar ga arxiv yaratishni bildiradi va -z opsiyasi hosil bo'lgan arxivni siqish uchun faylni.tar.gz - yaratiladigan fayl nomidir.

"-f" variantini ko'rsatish har doim ham zarur emas, lekin har qanday holatda ham uni ishlatish yaxshiroqdir. Busiz, tar o'z ma'lumotlarini standart chiqishga yozadi, bu odatda oqimni boshqa dasturga uzatish uchun ishlatiladi, masalan:

% tar -cv file.tar . | gpg - shifrlash

Bu buyruq joriy katalog mazmuni bilan siqilmagan tarball yaratadi va keyin arxivni shifrlaydigan va siqib chiqaradigan gpg dasturi orqali tarballni boshqaradi, bu sizning shaxsiy kalitingizga ega bo'lmagan har bir kishi uni o'qishini imkonsiz qiladi.

ssh orqali tar

Agar manba kompyuter va maqsadli kompyuter LAN yoki WAN orqali ulangan bo'lsa, vaqtni tejash uchun siz bir vaqtning o'zida fayllarni arxivlash, nusxalash va chiqarish uchun SSH (Secure Shell) va tardan foydalanishni birlashtira olasiz. Buni qanday qilish kerak:

$ (cd ~/stuff; tar --create --gzip --file - *) | \ssh destination tar --extract --gunzip --file --verbose -C narsalar

Bu buyruq bir vaqtning o'zida bir nechta amallarni bajaradi. Keling, uni ajratamiz:

    Qavslar ichiga olingan buyruqlar ketma-ketligi pastki qavat deyiladi. Subshellda qilingan o'zgarishlar - masalan, katalogni o'zgartirish - umuman buyruqqa ta'sir qilmaydi, faqat pastki qavat muhitiga ta'sir qiladi. Shunday qilib, birinchi qochish ketma-ketligi - (cd ~/stuff; tar –create –gzip –file - *) joriy ishchi katalogni ~/stuff ga o'zgartiradi va keyin tarni ishga tushiradi. Subshelldan keyin quvurga yo'naltirish kelganligi sababli, pastki qavatning barcha natijalari qatordagi keyingi buyruqqa yuboriladi.

    Ko'pgina boshqa UNIX utilitlari singari, tar standart chiqishga (stdout) yozishi va standart kirishdan (stdin) o'qishi mumkin. Stdout ham, stdin ham odatda chiziqcha (-) bilan belgilanadi. Shunday qilib, -create -file buyrug'i stdout-da arxiv yaratadi.

    Kanal (|) pastki qobiqning barcha natijalarini ssh yordam dasturiga o'tkazadi, bu esa o'z navbatida barcha kerakli ma'lumotlarni manba kompyuteridan masofaviy kompyuterga o'tkazadi.

    Nihoyat, masofaviy kompyuter arxivdan ma'lumotlarni chiqarish uchun tar yordam dasturining o'z nusxasini ishga tushiradi. Endi -extract-fayl arxivni standart kirishdan o'qiydi. -C opsiyasi maqsadli mashinada tarni har qanday ochish operatsiyalarini boshlashdan oldin joriy ishchi katalogini boshqa narsalarga o'zgartirishga majbur qiladi. Umuman olganda, ushbu buyruqning yakuniy natijasi arxivni ssh orqali o'tkazish va uni ~/stuff ichiga ochish bo'ladi.

Shunday qilib, bitta buyruq yordamida arxiv yaratildi, uzatildi va ochildi. Aytgancha, ushbu buyruqni biroz o'zgartirib, arxivni masofaviy kompyuterdan mahalliy kompyuterga nusxalashingiz va uni ochishingiz mumkin. Buni amalga oshirish uchun bajarilishi kerak bo'lgan buyruq: mahalliy kompyuter:

$ ssh maqsadli mushuk archive.tgz | \ (cd ~/stuff; tar --extract --gunzip --fayl -)

Arxivlash yoqilgan masofaviy kompyuter ochiladi, keyin mushukdan bayt oqimi ichki qobiqqa yuboriladi, u ishchi katalogni o'zgartiradi va keyin arxivni chiqaradi. (tar buyrug'iga -C ~/stuff qo'shilishi bir xil natijalarga olib keladi; misol faqat pastki qavatlar ham kiritishni boshqarishi mumkinligini ko'rsatadi.)

smola bundan mustasno

- istisno qilish naqsh (-W istisno=pattern) Belgilangan naqshga mos keladigan fayllar yoki kataloglarni qayta ishlamang. E'tibor bering, istisnolar buyruq satrida ko'rsatilgan naqsh yoki fayl nomlaridan ustundir.

    Misol: tarni arxivlashda tar -czf test1.tar.gz --exclude=".svn" test/ test katalogidan subdirectory.svn ni chiqarib tashlang.

    Misol: Joriy katalogni arxivlash va siqish paytida gzip va gunzip dan foydalanish misollari .tar.gz .iso .deb .py $ tar -czf test.tar.gz *.* --exclude="* kengaytmali faylni chiqarib tashlang. tar.gz " --exclude="*.iso" --exclude="*.deb" --exclude="*.zip" --exclude="*.py"

kirish huquqlari saqlanib qolgan tar

Kirish huquqlarini saqlab qolgan holda arxiv yarating. Switch -p, -preserve-ruxsatlar, -bir xil ruxsatlar fayllarga kirish huquqlari haqida ma'lumot olish (super foydalanuvchi uchun birlamchi)

Tar -cvpf archive.tar.gz dir1

Kirish huquqlarini saqlab qolgan holda arxivni oching

Tar -xvpf archive.tar.gz

kerakli katalogga tar ekstrakti

Arxivni kerakli katalogga ochish uchun -C tugmasidan foydalaning

# man tar ... -C katalogi c va r rejimida bu quyidagi fayllarni qo'shishdan oldin katalogni o'zgartiradi. X rejimida arxivni ochgandan so'ng, lekin arxivdan yozuvlarni chiqarishdan oldin kataloglarni o'zgartiring. ...

Misol uchun, misol FreeBSD uchun sinovdan o'tgan:

# tar -xvf /usr/home/darkfire/backup.ns.server.254/usr/ports/distfiles.tar -C /usr/ports/

tar bo'linishi arxivni bir necha qismlarga ajratdi

Split -b 1000m distfiles.tar distfiles.split.tar

Natijada siz kabi ko'plab fayllarni olasiz

Distfiles.split.taraa distfiles.split.tarab distfiles.split.tarai

100m 100 megabaytni bildiradi. Siz 100k yozishingiz mumkin - bu 100 kilobayt bo'ladi. Siz ularni quyidagicha birlashtira olasiz:

Cat distfiles.split.tar* | tar zxvf -

.tar.gz arxivini qanday yaratish mumkin

tar -cvf file.tar /full/path - create.tar

tar -czvf file.tar.gz /full/path - create.tar.gz (arxiv)

tar -cjvf file.tar.bz2 /full/path - create.tar.bz2 (arxiv)

Ushbu misollar uchun sintaksis:
tar [-tugmalar] [arxiv nomi] [yo'l, nimani qadoqlash kerak]

.tarni qanday ochish (ochish) mumkin

.tar paketini ochish uchun: tar -xvf file.tar.gz

Sintaksis: tar [-keys] [arxiv nomi]

Arxiv kalitlari

c - (Yaratish) arxiv yaratish.
z – archive.tar.gz ni yaratadi
j - archive.tar.bz2 ni yaratadi
x - (eXtract) arxivdan fayllarni chiqarib olish imkonini beradi.
v - tar chiqishini batafsil qiladi. Bu shuni anglatadiki, arxivda topilgan barcha fayllar ekranda ko'rsatiladi. Agar ushbu parametr o'tkazib yuborilsa, qayta ishlash jarayonida ma'lumot chiqishi cheklangan bo'ladi.
f - talab qilinadigan variant. Busiz, tar arxiv fayli o'rniga lentani ishlatishga harakat qiladi.
z - gziplangan arxivni qayta ishlashga imkon beradi (.gz kengaytmasi bilan).
t - (Test) arxiv tarkibini ko'rish.

Unix muhitida buyruqni kiritish orqali kalitlar va imkoniyatlar haqida ko'proq ma'lumot olishingiz mumkin
[~]# man smola

.tar fayllarida bir nechta papkalarni (papka va fayl tuzilishi) saqlashingiz mumkin.
Olingan fayllar .tar.gz (gzip arxivatori bilan siqilgan .tar fayli) yoki .tar.bz2 (tartib siqilgan .tar fayli) kengaytmasiga ega boʻlishi uchun .tar faylini arxivlash uchun kalitlardan foydalangan maʼqul. bzip2).
bzip2 yaxshiroq siqadi, lekin gzip bilan u ko'proq tarqalgan, shuning uchun bu arxivator bilan siqish yaxshidir.
Agar sizda WinRAR o'rnatilgan bo'lsa, .tar.bz2 va .tar.gz ni ochishda hech qanday muammo bo'lmaydi.

Arxivchining tarixi

smola(Ingliz lenta arxivi) - bit oqimi yoki arxiv faylining formati, shuningdek, bunday arxivlar bilan ishlash uchun an'anaviy Unix dasturining nomi. Tar dasturi standartlashtirilgan POSIX.1-1998, va shuningdek, keyinroq POSIX.1-2001. Tar dasturi dastlab magnit lentada arxivlar yaratish uchun ishlatilgan va hozirgi vaqtda tar tarqatish uchun bir fayl ichida bir nechta fayllarni saqlash uchun ishlatiladi. dasturiy ta'minot, shuningdek, uning maqsadi uchun - arxiv yaratish fayl tizimi. Arxivlarni yaratishda tar formatining afzalliklaridan biri shundaki, katalog tuzilishi, egasi va guruhi haqidagi ma'lumotlar arxivda qayd etiladi. alohida fayllar, shuningdek, fayl vaqt belgilari.
Boshqa Unix yordamchi dasturlari singari, tar ham ixtisoslashtirilgan dastur, bu Unix falsafasiga amal qiladi, "faqat bitta narsani qilish" (arxivlar bilan ishlash), "lekin buni yaxshi qilish". Shuning uchun tar siqilgan arxivlarni yaratmaydi, balki foydalanadi tashqi kommunal xizmatlar gzip va bzip2 kabi. Ilgari, kompressor yordam dasturi siqishni uchun ham ishlatilgan, u amalda qo'llanilmaydi.

Eslatma

Kechiktirilgan standartlashtirish tufayli bir nechta o'xshash, ammo to'liq mos kelmaydigan formatlar mavjud. Xususan, o'rtasidagi farq GNU smola va SUN Solaris tar arxivga kiritilgan fayl nomining uzunligi 100 belgidan ortiq yoki arxivga kiritilgan fayl hajmi 8 Gb dan ortiq bo'lsa kuzatiladi.

Fayl nomi kengaytmalari

Tar arxivlarini o'z ichiga olgan fayllar uchun an'anaviy ravishda quyidagi fayl nomi kengaytmalari qo'llaniladi:

tar arxivi:
.tar

gzip bilan siqilgan tar arxivi:
.tar.gz
.tgz (kengaytma uzunligi bo'yicha fayl tizimi cheklovlari mavjud bo'lsa)
.tar.gzip

bzip2 bilan siqilgan tar arxivi
.tar.bz2
.tar.bzip2
.tbz2
.tb2
.tbz

kompres bilan siqilgan tar arxivi
.tar.Z
.taz

LZMA dasturi bilan siqilgan tar arxivi
.tar.lzma

XZ dasturi bilan siqilgan tar arxivi
.tar.xz

lzop bilan siqilgan tar arxivi

Linux-dagi tar yordam dasturi bir nechta fayllarni bitta faylga birlashtirish (to'plash), ya'ni arxivlarni yaratish uchun mo'ljallangan. U arxivlar bilan ishlash uchun yaxshi funksionallikka ega va fayl atributlari va fayl tizimi tuzilishini saqlab qolgan holda fayllarni (arxivlar yoki tar fayllarni) bir qurilmadan ikkinchisiga (jumladan, lenta qurilmalari) samarali koʻchirishi mumkin. Bularning barchasi yordam dasturidan zaxira nusxalarini tashkil qilish uchun to'liq vosita sifatida foydalanishga imkon beradi. Albatta, bu maqsadlar uchun boshqa ixtisoslashtirilgan kommunal xizmatlar mavjud. Biroq, axlatxona kabi tizim ma'murlari Qatron bilan qanday ishlashni bilish ham foydalidir.

Tar yordam dasturidan foydalanish xususiyatlari

Yuqorida aytib o'tilganidek, yordamchi dastur bir nechta katalog va fayllarni bitta tar faylga birlashtiradi, keyinchalik ularni, masalan, gzip, kompres yoki bzip2 yordamida siqish mumkin. Ma'lumotlarning zaxira nusxasini yaratish va qo'shimcha disk maydonini bo'shatish kerak bo'lganda, bu juda qulay. Yordamchi dastur ko'pincha qisqa muddatli yaratish kerak bo'lganda ishlatiladi zaxira nusxalari ma'lumotlar.

Tarning GNU bo'lmagan versiyalari orasida katta qismi 100 belgidan ortiq fayl nomini qo'llab-quvvatlamaydi, shuningdek, bir nechta lentalar bilan ishlamaydi, shuning uchun mavjud yordam dasturining o'ziga xos versiyasini ishlatishdan oldin, rasmiy texnik qarang. shunga o'xshash tafsilotlar uchun hujjatlar (man tar buyrug'i). Bundan tashqari, tarning barcha versiyalari sukut bo'yicha ramziy havolalarni qayta ishlamaydi - buning uchun versiyadan versiyaga turli xil kalitlardan foydalaniladi, ularni hujjatlarda ham topish mumkin. Yordamchi dastur katalog daraxtini tezda nusxalash uchun juda mos keladi.

tar buyrug'i sintaksisi va variantlari

Tar yordam dasturi quyidagi sintaksisga ega:

smola [variantlari ] Ism_arxiv fayllar_uchun_arxiv

Masalan, buyruq yordamida:

$ tar -cf etc.tar /etc

Siz etc.tar arxiviga /etc katalogining nusxasini yaratishingiz mumkin. Quyidagi misol tar buyrug'i yordamida zaxira nusxasini yaratishning keng tarqalgan holatini ko'rsatadi. Bu yerda -c opsiyasi arxiv yaratish, -f natijani faylga chiqarish demakdir. Buyruqning tar -cf dan chiqish oqimini kirish sifatida qabul qiladigan ikkinchi qismida -x (ekstrakt) opsiyasi tar ga arxiv tarkibini chiqarishni, -p ga esa fayllarga kirish rejimlari haqidagi ma’lumotlarni saqlashni aytadi. Bloklarni birlashtirish nisbatini o'rnatishga imkon beruvchi -b opsiyasi ham mavjud, bu lenta qurilmalariga yozishda foydalidir. Bu ba'zi hollarda ko'proq ishlash imkonini beradi. Optimal qiymat 20 ga teng, ammo tajriba o'tkazish orqali siz muayyan shartlar uchun eng yaxshi variantni topishingiz mumkin. -v opsiyasi chop etish imkonini beradi batafsil ma'lumot jamoa ishining borishi haqida.

Paketni ochish sintaksisi:

smola [variantlari ] arxiv

Masalan, buyruq

$tar xfv arxivi.tar

Arxiv.tarni joriy katalogga oching. Arxivni ochmoqchi bo'lgan katalogni ko'rsatish uchun -c tugmasidan foydalaning. Masalan

$ tar xfv arxivi.tar -c /var

Quyida tar buyruqlarining asosiy ro'yxati keltirilgan

-A, --catenate, --concatenate tar fayllarini arxivga biriktirish
-c, --yangi arxiv yaratish
-d, --diff, --arxiv va fayl tizimi o'rtasidagi farqlarni qidirishni solishtiring
--o'chirish arxivdan o'chirish (magnit lentalarda emas!)
-r, --arxiv oxiriga fayllar qo'shishni qo'shing
-t, --list arxiv tarkibini ro'yxatlash
--test-yorlig'i arxiv hajmi yorlig'ini tekshirish va chiqish
-u, --update arxivga faqat yangiroq fayllarni qo'shish
-x, --extract, --get arxivdan fayllarni chiqarib olish

Shuni esda tutingki, buyruqni ishga tushirishda tugmachalar oldiga defis qo'yish shart emas

tar misollar

Yuqorida aytib o'tilganidek, siqilgan arxivlarni yaratish uchun siz avval tar buyrug'i bilan arxivning o'zini yaratasiz, so'ngra bu arxiv gzip yordamida siqiladi. Lekin bularning barchasini bitta tar buyrug'i bilan qilishingiz mumkin:

$tar -cvzf archive.tgz *

Natijada, u yaratiladi siqilgan gzip archive.tgz arxivi, u gzip yordamida va z opsiyasi tufayli siqiladi. “*” belgisi joriy katalogdagi hamma narsa arxivlanishini bildiradi. Bu yerda archive.tgz maqsadli arxivi ham yaratiladi. Z opsiyasi o'rniga siz boshqalarni ko'rsatishingiz mumkin - Z, J, j, ular tegishli siqish algoritmlarini - LZV, xz va bzip2 ni belgilaydi.

Har holda, zaxira nusxalarini yaratishdan oldin, "/" ildiz katalogiga o'tish yaxshiroqdir - yordamchi dastur fayl nomlari/yo'llaridan boshlang'ich "/" belgisini olib tashlaydi, shuning uchun arxiv ma'lumotlari keyinchalik to'g'ri tiklanmasligi mumkin.

Zaxiralashda (lentaga) siz quyidagi buyruqlardan foydalanishingiz mumkin:

$ cd / $ tar -cpf /dev/st0 --label=""+%d-%B-%Y" sanasida zaxiralash." -C / uy

Ko'rib turganingizdek, bu yerda arxiv nomi sifatida lenta qurilmasi /dev/st0 ishlatiladi. Shuning uchun, arxivlarni aniqlash uchun ma'lum bir arxiv tavsifini ko'rsatadigan --label opsiyasidan foydalanish foydalidir. Orqa tirnoqlarda arxiv yaratilgan sana/vaqt uchun niqob mavjud. -C (yoki --directory) opsiyasi zaxiralanadigan katalogni belgilaydi. Qo'shimcha arxivlashni amalga oshirish uchun, ya'ni faqat oldingi arxivlashdan keyin o'zgargan fayllarning zaxira nusxasini yaratish kerak bo'lganda, siz -N opsiyasidan foydalanishingiz kerak:

$ cd / $ tar -cpNf /dev/st0 --label=""+%d-%B-%Y" sanasida zaxiralash." -C / uy

Zaxira nusxasini yaratgandan so'ng, arxivning buzilmaganligini -d opsiyasidan foydalanib tekshirish yaxshi bo'ladi:

$ cd / $ tar -dvf /dev/st0

Butun tizimning zaxira nusxasini yaratish uchun siz quyidagi buyruqdan foydalanishingiz mumkin:

$ cd / $ tar -cpf /sysarchive/system-at-`date "+%d-%B-%Y"`.tar -C / --exclude=proc --exclude=mnt --exclude=arxiv -- exclude=kesh --exclude=*/lost+found .

Bu yerda --exclude opsiyalaridan foydalanib, qaysi kataloglarni arxivlash jarayonidan chiqarib tashlash kerakligini va nuqta belgisini belgilaysiz. buyruq oxirida -C variantida ko'rsatilgan katalogda joylashgan barcha katalog va fayllarni qayta ishlash kerakligini aytadi. Shuni ta'kidlash kerakki, ushbu misolda, avvalgilaridan farqli o'laroq, tar faylining o'zi lenta qurilmasi emas, balki maqsadli arxiv sifatida ko'rsatilgan.

Agar xato topsangiz, matnning bir qismini ajratib ko'rsating va bosing Ctrl+Enter.

TAR (lenta arxivi) buyrug'i Linuxda tez-tez ishlatiladigan buyruq bo'lib, fayllarni arxivda saqlash imkonini beradi. Ko'pincha .tar.gz va .tar.bz2 kengaytmali fayllar mavjud bo'lib, ularda tar arxivi mos ravishda gzip yoki bzip algoritmlari yordamida siqiladi.

tar buyrug'idan foydalanish

Tar buyrug'i ko'pgina Linux tizimlarida sukut bo'yicha ishlaydi va uni alohida o'rnatishingiz shart emas. Odatiy bo'lib 2 ta siqish formatlari gzip va bzip mavjud. "Z" harfi gzip variantini va "j" varianti bzipni bildiradi. Bundan tashqari, siqilmagan arxiv yaratishingiz mumkin.

  1. tar.gz arxivi chiqarilmoqda

Eng ko'p qo'llaniladigan usul tar arxivlarini chiqarishdir. Quyidagi buyruq tar.gz arxividan fayllarni chiqarishi kerak

$ tar -xvzf tarfile.tar.gzp

Bu erda ishlatiladigan parametrlarning qisqacha izohi -
x - fayllarni chiqarish
v – fayl nomlarini birma-bir ajratib ko'rsatish
z "siqilgan" fayldir
f - ekspluatatsiya uchun quyidagi tar arxividan foydalaning

tar.bz2/bzip arxivlarini chiqarish

bz2 kengaytmali fayllar bzip algoritmi yordamida siqiladi va tar buyrug'i ularni boshqarishi mumkin. Z opsiyasi o‘rniga j variantidan foydalaning.

$ tar -xvjf archivefile.tar.bz2

  1. Fayllarni ma'lum bir katalog yoki yo'lga chiqarib oling

Muayyan katalogdagi fayllarni chiqarish uchun siz "-c" opsiyasidan foydalanib yo'lni ko'rsatishingiz kerak. E'tibor bering, C bo'lim emas.

$ tar -xvzf abc.tar.gz -C /opt/papka/

Biroq, birinchi navbatda, maqsad papkaning mavjudligiga ishonch hosil qiling, chunki agar bunday bo'lmasa, tar katalog yaratmaydi.

  1. Bitta faylni chiqarib oling

Arxivdan bitta faylni chiqarish uchun quyidagi buyruqdan keyin fayl nomini kiritish kifoya:

$ tar -xz -f abc.tar.gz "./new/abc.txt"

Bu kabi oldingi buyruqda bir nechta faylni ko'rsatish mumkin

$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"

  1. Joker belgilar yordamida bir nechta fayllarni ajratib olish

Joker belgilar berilgan joker belgiga mos keladigan bir qator fayllarni olish uchun ishlatilishi mumkin. Masalan, barcha "txt" fayllar kengaytmalardir.

$ tar -xv -f abc.tar.gz --joker belgilar "*.txt"

  1. Tar arxivi tarkibini sanab chiqing va qidiring

Agar siz tar arxivi tarkibini ularni chiqarish o'rniga oddiygina ro'yxatga olishni istasangiz, "-t" opsiyasidan foydalanishingiz mumkin. Quyidagi buyruq tar arxivi tarkibini chop etadi.

$ tar -tz -f abc.tar.gz ./new/ ./new/cde.txt ./new/subdir/ ./new/subdir/in.txt ./new/abc.txt ...

v-variantidan foydalanib, har bir fayl haqida qo'shimcha ma'lumotlarni chop etishingiz mumkin.

tar.bz2/bzip fayllari uchun "j" opsiyasidan foydalaning.

$ tar -tvz -f abc.tar.gz | grep abc.txt -rw-rw-r-- nurli/aniqlangan 0 2015-01-13 11:40 ./new/abc.txt

  1. tar/tar.gz arxivini yarating

Biz mavjud tar arxivini qanday chiqarishni bilib oldik, endi yangilarini yaratishni boshlash vaqti keldi. Tar buyrug'i tanlangan fayllarni arxivga yoki butun katalogga yuborish uchun ishlatilishi mumkin. Mana bir nechta misollar.

Quyidagi buyruq kataloglar yordamida tar arxivini yaratadi, undagi barcha fayllar va pastki kataloglarni qo'shadi

$ tar -cvf abc.tar ./new/ ./new/ ./new/cde.txt ./new/abc.txt

Yuqoridagi misol siqilgan arxiv yaratmaydi. Bu bir vaqtning o'zida bir nechta fayllarni hech qanday siqilishsiz joylashtiradigan muntazam arxivni yaratadi.

Siqish uchun mos ravishda gzip yoki bzip uchun "z" yoki "j" variantidan foydalaning.

$ tar -cvzf abc.tar.gz ./new/

  1. Fayllarni qo'shishdan oldin tasdiqlashni so'rang

Foydali variant "w" bo'lib, tar har bir faylni arxivga qo'shishdan oldin uni tasdiqlashni so'raydi. Bu ba'zan foydali bo'lishi mumkin.

Agar javob ha bo'lsa, bu fayllar arxivga qo'shiladi. Odatiy bo'lib, standart javob "yo'q".

# Muayyan fayllarni qo'shing $ tar -czw -f abc.tar.gz ./new/* qo'shing './new/abc.txt'?y qo'shing './new/cde.txt'?y qo'shing './new/ newfile.txt'?n qo'shing './new/subdir'?y qo'shing './new/subdir/in.txt'?n # Endi qo'shilgan fayllar ro'yxati $ tar -t -f abc.tar.gz ./new /abc.txt ./new/cde.txt ./new/subdir/

  1. Mavjud arxivlarga fayllar qo'shing

r parametridan foydalanib, mavjud arxivlarga yangilarini yaratmasdan fayllar qo'shishingiz mumkin. Mana tez misol

$ tar -rv -f abc.tar abc.txt

Fayllarni siqilgan arxivlarga qo'shib bo'lmaydi (gz yoki bzip). Fayllar oddiy tar arxiviga qo'shilishi mumkin.

  1. Siqilgan arxivga fayllar qo'shish (tar.gz/tar.bz2)

Yuqorida biz fayllarni siqilgan arxivga qo'shib bo'lmasligini aytdik. Biroq, bitta hiyla yordamida fayllarni siqilgan arxivga qo'shish hali ham mumkin. Arxivni ochish, faylni arxivga qo'shish va uni qayta siqish uchun gunzip buyrug'idan foydalaning.

$ gunzip archive.tar.gz $ tar -rf archive.tar ./path/to/file $ gzip archive.tar

Bzip fayllari uchun mos ravishda bzip2 va bunzip2 buyruqlaridan foydalaning.

  1. Zaxira smola yordamida

Muntazam vaqt oralig'ida kataloglarni zaxiralash uchun haqiqiy dunyo stsenariysi. Tar buyrug'i cron yordamida bunday zaxiralarni rejalashtirishi mumkin. Mana bir misol -

$ tar -cvz -f arxivi-$(sana +%Y%m%d).tar.gz ./new/

Yuqoridagi buyruqni cron orqali ishga tushiring va u quyidagi kabi nomli fayllarni zaxiralashni davom ettiradi.

"arxiv-20150218.tar.gz".

  1. Yaratishda arxiv fayllarini tekshirish

"W" opsiyasi arxiv yaratgandan so'ng fayllarni tekshirish uchun ishlatilishi mumkin. Mana tez misol.

$ tar -cvW -f abc.tar ./new/ ./new/ ./new/cde.txt ./new/subdir/ ./new/subdir/in.txt ./new/newfile.txt ./new/ abc.txt Tasdiqlash ./new/ Tasdiqlash ./new/cde.txt Tasdiqlash ./new/subdir/ Tasdiqlash ./new/subdir/in.txt Tasdiqlash./new/newfile.txt Tekshirish ./new/abc.txt

Esda tutingki, siqilgan arxivlarda tekshirish amalga oshirilmaydi. U faqat siqilmagan tar arxivlari bilan ishlaydi.

© 2024 ermake.ru -- Kompyuterni ta'mirlash haqida - Axborot portali