Tar arxivini chiqarish. Linuxda Tar buyrug'i yordamida arxivlarni yaratish va chiqarish. Harakat uchun buyruqlar

Ushbu maqolada biz sizga amaliy misollar va tar arxivlarini chiqarish va yaratish uchun Tar yordam dasturidan qanday foydalanishni ko'rsatamiz. batafsil tushuntirishlar eng keng tarqalgan tar parametrlari.

Tar nima?

Tar buyrug'i fayllar guruhini arxivga aylantirish orqali tar arxivlarini yaratish uchun ishlatiladi. Shuningdek, u tar arxivlarini chiqarish, arxivga kiritilgan fayllar ro'yxatini ko'rsatish, mavjud arxivga qo'shimcha fayllar qo'shish va boshqa turdagi operatsiyalarni bajarish imkoniyatiga ega.

Tar gzip, bzip2, lzip, lzma, lzop, xz va kompres kabi keng ko'lamli siqish dasturlarini qo'llab-quvvatlaydi. Siqilgan tar arxivlarini yaratishda arxiv fayl nomiga kompressor qo'shimchasini qo'shish odatiy holdir. Misol uchun, agar arxiv gzip yordamida siqilgan bo'lsa, u archive.tar.gz deb nomlanadi.

Tar dastlab magnit lentada fayllarni saqlashda arxiv yaratish uchun mo'ljallangan edi, shuning uchun u o'z nomini oldi " T maymun AR chivi."

Tarning ikkita versiyasi mavjud, BSD tar va GNU tar, ba'zi funktsional farqlarga ega. Ko'pchilik Linux tizimlari sukut bo'yicha oldindan o'rnatilgan GNU tar bilan birga keladi. Agar sizda tar o'rnatilmagan bo'lsa, maqolamizga rioya qilib, avval uni o'rnatishni tavsiya qilamiz.

Buyruqlar qatori sintaksisi

Tar buyrug'idan foydalanishga o'tishdan oldin, asosiy sintaksisni ko'rib chiqishni boshlaylik.

Tar

  • OPERATION - Faqat bitta argumentga ruxsat beriladi va talab qilinadi. Eng ko'p ishlatiladigan operatsiyalar:
    • --create (-c) - Yangi tar arxivini yarating.
    • --extract (-x) - arxivdan butun arxivni yoki bir yoki bir nechta faylni chiqarib oling.
    • --list (-t) - arxivga kiritilgan fayllar ro'yxatini ko'rsatish
  • OPTIONS – Eng tez-tez ishlatiladigan operatsiyalar:
    • --verbose (-v) - tar buyrug'i bilan qayta ishlangan fayllarni ko'rsatish.
    • --file=archive=name (-f archive-name) - arxiv faylining nomini belgilaydi.
  • ARCHIVE_NAME – arxiv nomi.
  • FILE_NAME(lar) – ajratib olinadigan fayl nomlarining boʻsh joy bilan ajratilgan roʻyxati. Agar taqdim etilmasa, butun arxiv chiqariladi.

Tar buyrug'ini bajarishda tar operatsiyalari va parametrlarining uzun yoki qisqa shaklidan foydalanish mumkin. Uzoq shakllar ko'proq o'qiladi va qisqa shakllar tezroq. Uzun shakl variantlari qo'sh chiziq (--) bilan prefikslanadi. Qisqa shakl parametrlariga bitta tire (-) bilan prefiks qo'yiladi, ularni tashlab yuborish mumkin.

Tar arxivini yaratish

Tar arxivini yaratish uchun -c operatoridan foydalaning. Masalan, file1, file2, file3 nomli fayllardan archive.tar nomli arxiv faylini yaratish uchun quyidagi buyruqni bajaring:

Tar -cf arxiv.tar fayl1 fayl2 fayl3

Mana uzun shakl parametrlaridan foydalangan holda ekvivalent buyruq:

Tar --create --file=archive.tar file1 file2 file3

Quyidagi misol /home/username katalogidan backup.tar arxivini yaratadi:

Tar -cf backup.tar /home/username

Bir yoki bir nechta katalog yoki fayl mazmunidan arxiv yaratishingiz mumkin. Odatiy bo'lib, --no-recursion parametri belgilanmagan bo'lsa, kataloglar rekursiv arxivlanadi. Agar qayta ishlanayotgan fayllarni ko'rmoqchi bo'lsangiz -v opsiyasidan foydalaning.

Tar Gz arxivini yaratish

Gzip tar fayllari uchun eng mashhur siqish algoritmidir. Tar arxivlarini gzip bilan siqishda arxiv nomi tar.gz yoki tgz bilan tugashi kerak.

Berilgan fayllardan tar.gz arxivini yaratish uchun quyidagi buyruqdan foydalanishingiz mumkin:

Tar -czf archive.tar.gz fayl1 fayl2

-z opsiyasi targa arxivni gzip algoritmi yordamida siqish kerakligini aytadi.

Tar Bz2 arxivini yaratish

Tar fayllari uchun yana bir mashhur siqish algoritmi bzip2. Tar arxivlarini bzip2 bilan siqishda arxiv nomi tar.bz2 yoki tbz bilan tugashi kerak.

-j opsiyasi belgilanganda, tar bzip2 arxivini siqish algoritmidan foydalanadi.

Quyidagi buyruq berilgan fayllardan tar.bz2 arxivini yaratadi:

Tar -cjf archive.tar.bz2 fayl1 fayl2

Tar arxivi ro'yxati

Tar arxivi tarkibini ro'yxatga olish uchun --list (-t) operatsiyasidan foydalaning.

Tar -tf arxiv.tar fayl1 fayl2 fayl3

Agar siz arxiv mazmunini --verbose (-v) opsiyasi yordamida belgilasangiz, tar egasi, fayl hajmi, vaqt tamg'asi va boshqalar kabi qo'shimcha ma'lumotlarni chop etadi:

Tar -tvf archive.tar -rw-r--r-- linuxize/users 0 2018-09-08 20:15 fayl1 -rw-r--r-- linuxize/users 0 2018-09-08 20:15 fayl2 -rw-r--r-- linuxize/foydalanuvchilar 0 2018-09-08 20:15 fayl3

Tar arxivini chiqarish

Tar arxivini chiqarish uchun --extract (-x) operatoridan foydalaning va arxiv fayl nomini belgilang:

Tar -xf arxivi.tar

-v opsiyasi odatda chiqarilgan fayllar nomlarini chop etish uchun qo'shiladi.

Tar -xvf arxivi.tar

Odatiy bo'lib, tar joriy ishchi katalogdagi arxiv tarkibini chiqaradi. Muayyan katalogdagi arxivlangan fayllarni chiqarish uchun --directory (-C) dan foydalaning:

Masalan, arxiv tarkibini /opt/files katalogiga chiqarish uchun siz quyidagilarni ishlatishingiz mumkin:

Tar -xf archive.tar -C /opt/files

Tar Gz va Tar Bz2 arxivlarini chiqarish

Tar.gz yoki tar.bz2 kabi siqilgan arxivlarni chiqarishda siz dekompressiya opsiyasini belgilashingiz shart emas. Buyruq tar arxivini chiqarish bilan bir xil:

Tar -xf archive.tar.gz tar -xf archive.tar.bz2

Tar arxividan ma'lum fayllarni chiqarib olish

Tar arxividan ma'lum fayllarni chiqarish uchun arxiv nomidan keyin chiqariladigan bo'shliqlar bilan ajratilgan fayl nomlari ro'yxatini qo'shing:

Tar -xf arxiv.tar fayl1 fayl2

Fayllarni ajratib olishda siz --list (-t) terilgan tarzda ularning aniq nomlarini, jumladan, yo'lni ko'rsatishingiz kerak.

Arxivdan bir yoki bir nechta kataloglarni chiqarish fayllarni chiqarishga o'xshaydi:

Tar -xf arxivi.tar dir1 dir2

Agar mavjud bo'lmagan faylni chiqarishga harakat qilsangiz, quyidagiga o'xshash xato xabarini olasiz:

Tar -xf archive.tar README tar: README: arxivda topilmadi tar: Oldingi xatolar tufayli muvaffaqiyatsizlik holati bilan chiqish

Joker belgilar yordamida Tar arxividan fayllarni chiqarish

Arxivdan fayllarni joker belgi asosida ajratib olish uchun --wildcards kalitidan foydalaning va qobiq talqinini oldini olish uchun naqshni belgilang.

Masalan, nomlari .js (Javascript fayllari) bilan tugaydigan fayllarni chiqarish uchun siz:

Tar -xf archive.tar --joker belgilar "*.js"

Mavjud arxivga fayllar qo'shish

Mavjud tar arxiviga fayllar yoki kataloglarni qo'shish uchun --append (-r) operatsiyasidan foydalaning.

Masalan, archive.tar-ga newfile nomli faylni qo'shish uchun siz quyidagilarni ishlatishingiz mumkin:

Tar -rvf arxivi.tar yangi fayl

Tar arxividan fayllarni olib tashlash

Fayllarni arxivdan o'chirish uchun --delete operatsiyasidan foydalaning.

Masalan, file1 nomli faylni archive.tar dan olib tashlash uchun siz quyidagilarni ishlatishingiz mumkin:

Tar --delete -f archive.tar fayl1

Xulosa

Hozircha siz tar arxivlarini qanday yaratish va chiqarishni yaxshi tushunishingiz kerak.

Tar.gz - yaratilgan arxiv Tar dasturi, va keyin Gzip bilan arxivlangan. Ushbu ikki tomonlama arxivlash Gzip dasturining yaxshi va tez siqilishi bilan bog'liq, lekin uni faqat bitta fayl bilan bajaradi. Shuning uchun, bir nechta fayllarni to'plash uchun ulardan birinchi navbatda bitta tar arxivi yaratiladi va shundan so'ng u allaqachon Gzip dasturi bilan to'ldirilgan. Bundan tashqari, shuni ta'kidlash kerakki, birlamchi tar arxivi amalda ma'lumotni siqmaydi, balki uni faqat bitta faylga birlashtiradi. Yakuniy versiyada biz filename.tar.gz yoki filename.tgz kengaytmali arxivni olamiz.

tar.gz arxivini qanday qilib to'g'ri yaratish mumkin?

Windows operatsion tizimida

7-zip arxivatoridan foydalanishingiz kerak.

Linux operatsion tizimida

PuTTY dasturi yordamida SSH protokoli orqali hosting serveriga ulanamiz. Buyruqlar qatoriga kiriting:

Bu buyruq /full/path katalogidagi barcha fayllardan file.tar arxivini yaratadi. Lekin chunki tar arxivlanmaydi, faqat fayllarni birlashtiradi, keyin uni Gzip yordamida yana siqishimiz kerak:

tar -czvf file.tar.gz /full/path

Natijada, /full/path katalogida joylashgan file.tar.gz faylini olamiz.

tar buyrug'i sintaksisi qoidalari

tar [-keys] [yaraladigan arxiv nomi] [nima qadoqlash kerak\qaerga qadoqlash kerak]

Kalitlarga kelsak:
c (yaratish) - arxiv faylini yaratish

z (gzip) - faylni gzip yordamida arxivlash

tar.gz arxivini qanday qilib to'g'ri ochish mumkin?

Windows operatsion tizimida

Linux operatsion tizimida

Xosting serverida - PuTTY dasturidan foydalangan holda SSH protokoli orqali serverga ulaning. Buyruqlar qatoriga kiriting:

Sintaksis

tar [-keys] [ochiladigan arxiv yoki unga yo'l]

x (eXtract) - fayllarni ochish
v (batafsil) - ijro ma'lumotlarini ko'rsatish
f (fayl) - tugmachalardan keyin ko'rsatilgan nom bilan fayl yaratish kerakligini bildiradi (bizning misolimizda file.tar yoki file.tar.gz), agar siz ushbu kalitni ko'rsatmasangiz, standart nom bo'ladi. foydalaniladi yoki muammolar paydo bo'ladi.
file.tar.gz - arxivni ochish kerak bo'lgan arxivning nomi.

Unix (bu Linux, Freebsd va boshqalar) tizimlarida tar buyrug'i asosiy arxivlash yordam dasturidir. Ushbu buyruqning ko'plab variantlarini tushunish sizga arxiv bilan ishlashni o'zlashtirish imkonini beradi.

Ushbu maqolada men turli misollarni ko'rib chiqmoqchiman, jumladan, tar arxivini yaratish (gzip va bzip siqish yordamida), bitta fayl yoki katalogni chiqarish, tar arxivi tarkibini ko'rish, tar arxivining yaxlitligini tekshirish, tar arxivi va o'rtasidagi farq fayl tizimi, arxiv hajmini yaratishdan oldin hisoblash va boshqalar.

tar buyrug'i yordamida arxiv yaratish

Tar arxivini yaratish va ochish cvf opsiyasi yordamida amalga oshiriladi. Arxiv yaratish uchun asosiy buyruq quyidagicha ko'rinadi:

$tar cvf archive_name.tar dirname/

Variantdagi har bir kalitni alohida ko'rib chiqamiz:

  • c - yangi arxiv yaratish
  • v – qayta ishlash uchun fayllar ro‘yxatini chiqarish
  • f – arxiv fayl nomi

Gzip siqilgan arxivni yaratish uchun cvzf opsiyasidan foydalanishingiz kerak. Oldingi cvf opsiyasi hech qanday siqishni ishlatmaydi. Gzip siqishni ishlatish uchun quyida ko'rsatilgandek z variantini qo'shing:

$ tar cvzf archive_name.tar.gz dirname/

  • z - arxivni gzip siqish yordamida to'playdi

Shaxsan men cvf opsiyasini har doim o'zgarishsiz qoldirishni afzal ko'raman va faqat siqish kerak bo'lsa oxirida kerakli kalitlarni qo'shishni afzal ko'raman. Masalan, cvfz yoki cvfj. Shu tarzda eslab qolish osonroq.

Endi bzip2 siqish yordamida arxiv yaratamiz:

$ tar cvfj archive_name.tar.bz2 dirname/

  • j - arxivni bzip2 siqish yordamida to'playdi

gzip yoki bzip2? Bzip2 yordamida arxivni siqish va ochish biroz ko'proq vaqt oladi va arxivning o'zi kichikroq bo'ladi.

Arxiv nomidagi joriy sana bilan tar arxivini yaratish

Agar siz zaxira nusxasini yaratayotgan bo'lsangiz, uning qachon yaratilganligini aniq bilish juda muhimdir. Bu haqda bilishning eng oson yo'li uning ismidir.

Tar -cvf arxivi-$(sana +%Y%m%d).tar.gz dirname/

Tar buyrug'i yordamida arxivni ochish

Arxivni ochish uchun xvf buyrug'idan foydalaning:

$tar xvf archive_name.tar

  • x - arxivdan fayllarni chiqarish

tar.gz paketini ochish uchun xvfz opsiyasidan foydalaning:

$tar xvfz archive_name.tar.gz

Siqilgan bzip2 arxivini ochish uchun xvfj opsiyasidan foydalaning:

$tar xvfj archive_name.tar.bz2

Tar arxividagi fayllarni ko'rish

Tar arxivi tarkibini ko'rish uchun tvf opsiyasidan foydalaning.

$tar tvf archive_name.tar

Gzip yordamida siqilgan arxiv tarkibini ko'rish uchun tvfz opsiyasidan foydalaning

$ tar tvfz archive_name.tar.gz

bzip2 yordamida siqilgan arxiv tarkibini ko'rish uchun tvfj opsiyasidan foydalaning

$tar tvfj archive_name.tar.bz2

Tar, tar.gz, tar.bz2 arxivlaridan bitta faylni chiqarish

Katta arxivdan faqat 1 ta faylni chiqarib olishingiz kerak bo'lgan holatlar mavjud:

$ tar xvf archive_file.tar path/to/file

Gzip va bzip2 siqilgan arxivlar uchun mos ravishda foydalaning:

$ tar xvfz archive_file.tar.gz path/to/file $ tar xvfj archive_file.tar.bz2 path/to/file

Tar, tar.gz, tar.bz2 arxivlaridan bitta papkani chiqarish

Individual papkani, shu jumladan barcha pastki papkalarni va fayllarni chiqarish alohida faylni chiqarish bilan bir xil tarzda amalga oshiriladi:

$ tar xvf archive_file.tar /path/to/dir/

Arxivdan bir nechta papkalarni chiqarish uchun ularning nomlarini tartibda ko'rsating:

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Siqilgan arxivlar uchun ham xuddi shunday, faqat qo'shimcha kalitlar yordamida:

$ tar xvfz archive_file.tar.gz /path/to/dir/ $ tar xvfj archive_file.tar.bz2 /path/to/dir/

Muntazam iboralar yordamida tar, tar.gz, tar.bz2 arxivlaridan fayllar guruhini chiqarib olish

Nomdagi ma'lum xususiyatlarga asoslangan fayllar guruhini ajratib olish uchun siz foydalanishingiz mumkin muntazam iboralar. Masalan, arxivdan barcha fayllarni ajratib olaylik html kengaytmasi.

$ tar xvf archive_file.tar - joker belgilar "*.pl"

Mavjud tar arxiviga fayl yoki papka qo'shish

Mavjud arxivga yangi fayl yoki jild qo'shish uchun -r opsiyasidan foydalaning:

$ tar rvf archive_name.tar yangi fayl

Jildni qo'shish xuddi shu tarzda amalga oshiriladi:

$ tar rvf archive_name.tar newdir/

Fayl va papkalarni qo'shish jarayoni faqat siqilmagan tar arxivlari uchun ishlashini unutmang.

Tar arxivini yaratishdan oldin hajmini aniqlash

Quyidagi buyruq tar.gz yoki tar.bz2 arxivini yaratishdan oldin uning hajmini aniqlash imkonini beradi (KB da)

Tar -czf - /katalog/to/arxiv/ | wc –c $ tar -cjf - /katalog/to/arxiv/ | wc -c


Oddiy zaxira sxemasi - hamma narsani bir marta saqlash, keyin esa avvalgi nusxadan keyin o'zgargan barcha narsalarni zaxiralash. Birinchi nusxa chaqiriladito'liq zaxira , keyingi qo'shimcha zaxira nusxalari . To'liq nusxa ko'pincha lentaga (yoki floppi diskga) to'liq mos kelmaydi. Qo'shimcha nusxalardan tiklash ko'p marta talab qilinishi mumkin ko'proq miqdor to'liqdan ko'ra ishlash. Oldingi to'liq nusxadan boshlab har doim hamma narsani zaxira nusxasini yaratishingiz uchun tiklashni optimallashtirish mumkin; bu yo'l biroz ko'proq ishlashni talab qiladi, lekin hech qachon to'liq va bitta qo'shimcha nusxadan ko'proq tiklashga ehtiyoj qolmaydi.

Agar siz har kuni nusxa ko'chirmoqchi bo'lsangiz va oltita lentaga ega bo'lsangiz, birinchi to'liq nusxa uchun 1-tasma (masalan, juma) va qo'shimcha nusxalar uchun (dushanba-payshanba) 2 dan 5 gacha bo'lgan lentalardan foydalanishingiz mumkin. Keyin siz 6-lentada (ikkinchi juma) yangi to'liq nusxasini yaratasiz va 2-5-lentalarda yana qo'shimcha nusxalarni yaratishni boshlaysiz. Yangi toʻliq nusxaga ega boʻlmaguningizcha, 1-lentaning ustiga yozishni xohlamaysiz, shunda siz yangi toʻliq nusxani yaratishda hech qanday yomon narsa boʻlmaydi. 6-lentada to'liq nusxani yaratganingizdan so'ng, boshqa zaxira lentalaringiz yo'q qilingan taqdirda, 1-lentani boshqa joyda saqlashingiz mumkin. Keyingi to'liq nusxani yaratish kerak bo'lganda, siz 1 ta lentani tanlaysiz va foydalanasiz.

Agar sizda oltitadan ortiq lenta bo'lsa, to'liq nusxalar uchun qo'shimcha joydan foydalanishingiz mumkin. Har safar to'liq nusxani yaratganingizda, siz eng qadimgi lentadan foydalanasiz. Shunday qilib, oldingi bir necha haftaning to'liq nusxalariga ega bo'lishingiz mumkin, bu eski, hozir o'chirilgan faylni yoki faylning eski versiyasini topmoqchi bo'lsangiz yaxshi bo'ladi.

Tar yordamida zaxiralash

To'liq nusxani buyruq bilan osongina qilish mumkinsmola :

# tar --create --file /dev/ftape /usr/src

Yuqoridagi misol GNU versiyasidan foydalanadismola va uzun variant nomlari. An'anaviy versiyasmola parametr sifatida faqat bitta belgini qabul qiladi. GNU versiyasi, shuningdek, bitta lenta yoki floppi diskga to'g'ri kelmaydigan nusxalarni va juda uzun yo'llarni boshqarishi mumkin; Hamma an'anaviy versiyalar buni qila olmaydi. Linux faqat GNU-dan foydalanadismola .

Agar nusxangiz bitta lentaga to'g'ri kelmasa, variantni ishlatishingiz kerak--ko'p jildli (-M ):

# tar -cMf /dev/fd0H1440 /usr/src

tar: Arxivdagi mutlaq yo'l nomlaridan yetakchi / olib tashlash

/dev/fd0H1440 uchun №2 jildni tayyorlang va qaytish tugmasini bosing:

Nusxa olishni boshlashdan oldin floppi disklarni formatlashingiz kerakligini unutmang. Qachon formatlash buyruqlarini ishga tushirish uchun boshqa oyna yoki virtual terminaldan foydalanishingiz mumkinsmola yangi floppi so'raydi.

Nusxasini yaratganingizdan so'ng, variantni ishlatib, uni tekshirishingiz kerak--qiyoslash (-d ):

# tar --qiyoslash --verbose -f /dev/ftape

usr/src/

usr/src/linux

....

Nusxangizni tasdiqlay olmasangiz, asl maʼlumotlarni yoʻqotmaguningizcha nusxangiz ishlamayotganini sezmaysiz degan maʼnoni anglatadi.

Qo'shimcha nusxa ko'chirish buyrug'i bilan amalga oshirilishi mumkinsmola--yangi (-N ) opsiyasi bilan:

# tar --create --yangiroq "8-sentabr 1995" --fayl /dev/ftape /usr/src --verbose

tar: Arxivdagi mutlaq yo'l nomlaridan yetakchi / olib tashlash

usr/src/

usr/src/linux-1.2.10-o'z ichiga oladi/

usr/src/linux-1.2.10-o'z ichiga oladi/include/linux/modules/

usr/src/linux-1.2.10-o'z ichiga oladi/include/asm-generic/

usr/src/linux-1.2.10-o'z ichiga oladi/include/asm-i386/

usr/src/linux-1.2.10-o'z ichiga oladi/include/asm-mips/

usr/src/linux-1.2.10-o'z ichiga oladi/include/asm-alpha/

usr/src/linux-1.2.10-o'z ichiga oladi/include/asm-m68k/

usr/src/linux-1.2.10-o'z ichiga oladi/include/asm-sparc/

usr/src/patch-1.2.11.gz

Afsuski, smola Inode o'zgarishini aniqlay olmaydi fayl ma'lumotlari, masalan, kirish huquqlarini o'zgartirish yoki fayl nomini o'zgartirish. Muammo buyruq yordamida hal qilinaditoping va fayl tizimining joriy holatini avval zaxiralangan fayllar ro'yxati bilan solishtirish. Ushbu jarayonni avtomatlashtirish uchun skriptlar va dasturlarni Linux ftp serverlarida topish mumkin.

Tar yordamida tiklash

Jamoa smola--extract opsiyasi bilan (-x ) fayllarni chiqaradi:

# tar --extract --bir xil-ruxsatlar --verbose --fayl /dev/fd0H1440

usr/src/

usr/src/linux

usr/src/linux-1.2.10-o'z ichiga oladi/

usr/src/linux-1.2.10-o'z ichiga oladi/o'z ichiga oladi/

usr/src/linux-1.2.10-o'z ichiga oladi/include/linux/

...

Bundan tashqari, faqat chiqarib olishingiz mumkin belgilangan fayllar yoki kataloglar (ularning barcha fayllari va pastki kataloglarini o'z ichiga oladi), ularni buyruq satrida ro'yxatlash:

# tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h

usr/src/linux-1.2.10-includes/include/linux/hdreg.h

Variantdan foydalaning--list(-t ), agar siz faqat zaxira hajmida qanday fayllar mavjudligini ko'rishni istasangiz:

# tar --list --file /dev/fd0H1440

usr/src/

usr/src/linux

usr/src/linux-1.2.10-o'z ichiga oladi/

usr/src/linux-1.2.10-o'z ichiga oladi/o'z ichiga oladi/

usr/src/linux-1.2.10-o'z ichiga oladi/include/linux/

usr/src/linux-1.2.10-includes/include/linux/hdreg.h

usr/src/linux-1.2.10-includes/include/linux/kernel.h

...

shu esta tutilsinkismola har doim zaxira hajmini ketma-ket o'qiydi, shuning uchun katta hajmlar uchun jarayon juda sekin. Biroq, lenta yoki boshqa ketma-ket axborot vositalaridan foydalanilganda tasodifiy kirishdan foydalanish mumkin emas.

smola ishlov bermaydi o'chirilgan fayllar To'g'ri. Agar siz fayl tizimini to'liq va qo'shimcha nusxadan qayta tiklashingiz kerak bo'lsa va nusxa olish o'rtasida faylni o'chirib tashlasangiz, tiklashni amalga oshirganingizdan so'ng u yana mavjud bo'ladi. Agar fayl boshqa kirish imkoni bo'lmagan muhim ma'lumotlarni saqlasa, bu katta muammo bo'lishi mumkin.



odam qatroni Foydalanish: tar [OPTION...] [FILE]...
GNU `tar" fayllarni saqlash uchun mo'ljallangan
magnit lentaga yoki diskdagi arxivga va
tiklanish alohida fayllar dan
Arxiv.

Misollar:
tar -cf archive.tar foo bar # Fayllardan archive.tar yarating
foo va bar.
tar -tvf archive.tar # Batafsil ro'yxatni chop eting
archive.tar arxividagi barcha fayllar.
tar -xf archive.tar # Barcha fayllarni chiqarib oling
archive.tar dan.

Asosiy ish rejimi:

A, --catenate, --concatenate tar fayllarini biriktirish
arxivga
-c, --create yangi arxiv yaratish
-d, --diff, --farqlarni qidirish
arxiv va fayl
tizimi
--arxivdan o'chirishni o'chirish (yoqilgan emas
magnit lentalar!)
-r, --append fayllarni oxiriga qo'shish
Arxiv
-t, --ro'yxat mazmuni
Arxiv
--test-label arxiv hajmi yorlig'ini tekshiradi
va chiqish
-u, --update faqat arxivga qo'shiladi
yangi fayllar
-x, --extract, --extract fayllarni olish
Arxiv

Modifikatorlar:

Tekshirish-qurilma qachon tekshirish qurilma raqamlari
qo'shimcha hosil qilish
arxivlar (standart)
-g, --listed-incremental=FILE
qo'shimcha ishlov berish
yangisini bron qilish
GNU formati
-G, --inkremental ishlov berish bosqichma-bosqich
eski zahira
GNU formati
--ignore-failed-read qachon chiqmang
uchun nolga teng bo'lmagan holat
o'qib bo'lmaydigan fayllar
-n, --seek arxiv qidiruvi mavjud
--no-check-device yaratishda qurilma raqamlarini tekshirmang
qo'shimcha arxivlar
--hodisalar[=N] faqat N-ni qayta ishlash
har biri uchun hodisalar
arxivdagi fayl. Bu variant
bilan faqat birgalikda rost
--delete pastki buyruqlaridan biri,
--diff, --extract yoki --list, va qachon
fayllar ro'yxati yoki ichida ko'rsatilgan
buyruq qatori, yoki
-T opsiyasi orqali. Standart
N 1 ga teng.
--sparse-version=MAJOR[.MINOR]
versiyasini o'rnatish
ishlatiladigan format
vakuum (ishlatadi
--siyrak)
-S, --siyrak samarali ishlov berish
siyrak fayllar

Boshqaruvni qayta yozish:

K, --keep-old-fayllar ustiga yozilmaydi
mavjud fayllar qachon
qazib olish
--keep-newer-fayllar ustiga yozilmaydi
mavjud fayllar,
Ularnikidan yangiroq
arxivlangan nusxalari
--no-overwrite-dir metama'lumotlarni saqlash
mavjud kataloglar
--overwrite mavjudlarini ustiga yozadi
fayllarni chiqarib olishda
--overwrite-dir mavjudlarini ustiga yozish
fayllarni chiqarishda (tomonidan
standart)
--recursive-unlink butun ierarxiyani tozalaydi
katalogni chiqarib oling
--remove-files fayllarni ular bo'lgandan keyin o'chiradi
arxivga qo'shish
-U, --unlink-first oldingi har bir faylni olib tashlaydi
uning ustiga qazib olish
-W, --verify arxivni tekshirishga urinish
yozib olgandan keyin

Chiqish oqimini tanlash:

Ignore-buyruq-xato e'tiborsizlik kodlari
sho''ba korxonalarini tugatish
jarayonlar
--no-ignore-command-xato nolga teng bo'lmagan kodlarni hisoblash
sho''ba korxonalarini tugatish
jarayonlar xato sifatida
-O, --to-stdout uchun fayllarni chiqarib oling
standart chiqish
--to-command=COMMAND
yo'naltirish
boshqasiga chiqarilgan fayllar
dastur

Fayl atributlarini qayta ishlash:

Vaqtni saqlash[=METHOD]
kirish vaqtini tejash
tomonidan ko'chirilgan fayllar
tiklanish vaqti
o'qigandan keyin (METHOD="almashtirish";
sukut bo'yicha ishlatiladi)
yoki vaqtni belgilamaslik
Birinchidan
(METOD = "tizim")
--kechikish-katalog-tiklash vaqtini belgilamang
o'zgarishlar va kirish huquqlari
gacha chiqarilgan kataloglar
jarayonni yakunlash
qazib olish
--group=NAME majburiy
NAME ni o‘rnating
uchun guruh sifatida
qo'shilgan fayllar
--mode=MODE majburiy
o'rnatish (belgi)
uchun MODEga kirish
qo'shilgan fayllar
--mtime=DATE-OR-FILE
uchun o'rnatish
dan mtime fayllarini qo'shdi
DATE-YOKI-FILE
-m, --tegish vaqt ajratmang
fayl o'zgarishlari
--kechikishsiz-katalog-tiklash
variantni bekor qiling
--kechikish-katalog-tiklash
--no-bir xil egasi fayllarni o'zi kabi chiqarib oling
Shaxsiy
--no-same-ruxsatlar foydalanuvchi umaskni qo'llaydi
huquqlarni olishda
arxivdan kirish (tomonidan
normal uchun standart
foydalanuvchilar)
--numeric-honer o'rniga raqamlarni ishlatadi
egasi/guruh nomlari
--owner=NAME majburiy
NAME ni o‘rnating
uchun egasi sifatida
qo'shilgan fayllar
-p, --preserve-ruxsatlar, --bir xil ruxsatlar
haqida ma'lumot olish
faylga kirish huquqlari (tomonidan
uchun standart
superfoydalanuvchi)
--p va -s ga ekvivalentini saqlaydi
--bir xil egasi fayllarni chiqarib olishga harakat qiladi
bir xil egasi
-lar, --saqlash-tartib, --bir xil tartib
ajratib olingan
nomlari bilan bir xil tartibda
va arxivda

Qurilmalarni tanlash va almashtirish:

F, --file=ARCHIVE fayldan foydalaning yoki
qurilma ARXIVI
--force-local arxiv fayli
mahalliy bo'lsa ham
yo'g'on ichakni o'z ichiga oladi
-F, --info-script=NAME, --new-volume-script=NAME
tomonidan skriptni ishga tushiring
har bir lentaning oxiri
(shamolangan
-M dan foydalaning)
-L, --tape-length=N yozib olgandan keyin lentani o'zgartiring
NUMBER x 1024 bayt
-M, --ko'p jildli
yaratish/listing/qidiruv
ko'p jildli arxivlar
--rmt-command = BUYRUQ
belgilanganidan foydalaning
rmt o'rniga COMMAND rmt
--rsh-command = BUYRUQ
masofadan foydalaning
Rsh o'rniga COMMAND
--volno-file=FILEdan foydalanish/yangilash
FILEdagi hajm raqamlari

Bloklarga bo'linish:

B, --blocking-factor=BLOCKS
BLOKLAR soni x boshiga 512 bayt
yozib olish
-B, --read-full-records qayta bloklarga bo'linadi
o'qiyotganda (kanallar uchun
4.2BSD)
-i, --ignore-nollar nol bloklarini e'tiborsiz qoldiradi
arxivlangan (masalan, EOF)
--record-size=N NUMBER bayt har bir yozuv,
512 ga karrali

Arxiv formati:

H, --format=FORMAT ko'rsatilgan arxiv yaratish
format

FORMAT bo'lishi mumkin:

Gnu formati GNU tar 1.13.x
oldgnu GNU formati tar kabi<= 1.12
pax formati POSIX 1003.1-2001 (pax)
posix pax ga teng
ustar formati POSIX 1003.1-1988 (ustar)
v7 eski tar formati V7

Eski arxiv, --portativlik
--format=v7 ga ekvivalent

Pax-option=kalit so'z[[:]=qiymat][,kalit so'z[[:]=qiymat]]
kalit so'zlarni boshqarish
pax
--posix --format=posix ga ekvivalent
-V, --label=TEXT jild nomi bilan arxiv yarating
TEXT; da
ro'yxatga olish/qidiruv
TEXT dan foydalaning
shablon sifatida
almashtirishlar

Siqish imkoniyatlari:

A, --auto-compress-aniqlash uchun arxiv qo'shimchasidan foydalaning
siqish dasturi
-j, --bzip2 arxivini bzip2 orqali o'tkazish
--lzma arxivni lzma orqali filtrlang
--use-compress-program=PROG
arxivdan o'ting
PROG (qo'llab-quvvatlashi kerak
-d)
-z, --gzip, --gunzip, --ungzip arxivni o'tkazib yuborish
gzip
-Z, --siqish, --siqishni ochish arxivni o'tkazib yuborish
siqish

Mahalliy fayllarni tanlash:

Add-file=FILE belgilangan FILEni qo'shing
arxiv (ism bo'lsa foydali bo'ladi
defis bilan boshlanadi)
--zaxira[=MANAGE]
oldin nusxasini yarating
olib tashlash, BOSHQARISH
versiya tanlash
-C, --directory=DIRECTORY DIRECTORY ga o'ting
--exclude=PATTERN fayllarni istisno qilish,
PATTERN tomonidan belgilangan
--exclude-keshlar tarkibni istisno qiladi
CACHEDIR.TAG fayli bilan kataloglar
o'zidan tashqari
teglar bilan fayl
--exclude-caches-barcha kataloglarni istisno qilish,
CACHEDIR.TAG faylini o'z ichiga olgan
--exclude-caches-under barcha tarkibni istisno qilish
faylni o'z ichiga olgan kataloglar
CACHEDIR.TAG
--exclude-tag=FILE kataloglarni istisno qiladi,
FILE ni o'z ichiga olgan, uchun
FILEning o'zi bundan mustasno
--exclude-tag-all=FILE bilan kataloglarni istisno qilish
FILE
--exclude-tag-under=FILE
barcha tarkibni istisno qiling
FILE ni o'z ichiga olgan kataloglar
--exclude-vcs CVS kataloglarini istisno qiladi
-h, --dereference belgilaridan keyin
havolalar va fayllarni saqlash,
qaysilarga ishora qiladilar
--hard-dereference qattiq havolalarni kuzatib boring; arxiv va
fayllarni tashlab yuboradi
murojaat qiling
-K, --starting-file=MEMBER-NAME
MEMBER-NAME aʼzosi bilan boshlang
arxivda
--newer-mtime=DATE sana va vaqtni solishtiring,
faqat o'zgartirilsa
ma'lumotlar
--no-recursion avtomatik ravishda o'chirish
kataloglarga tushish
--no-unquote ismlardan tirnoqlarni olib tashlamang
dan o'qiladigan fayllar
-T opsiyasi bilan
--null -T satrlarni o'qiydi,
nol bilan tugaydi,
-C variantini o'chiradi
-N, --yangi=DATE-OR-FILE, --after-date=DATE-OR-FILE
faqat shu fayllarni saqlang
qaysilari yangiroq
DATE-YOKI-FILE
--bir fayl tizimi mahalliy bo'lib qoladi
fayl tizimi qachon
arxiv yaratish
-P, --absolute-names boshidagi `/" ni olib tashlamaydi
fayl nomlari
--rekursiyaning rekursiv tushishi
kataloglar (standart)
--suffix=LINE oldin nusxa oling
o'chirish, bekor qilish
oddiy qo'shimcha ("~" agar
faqat u bekor qilinmaydi
atrof-muhit o'zgaruvchisi
SIMPLE_BACKUP_SUFFIX)
-T, --files-from=FILE FILE dan nomlarni yuklaydi
qazib olish uchun yoki
yaratish
--unquote ismlardan qo'shtirnoqlarni olib tashlang
dan o'qiladigan fayllar
-T opsiyasi bilan (standart)
-X, --exclude-from=FILE naqshlarni istisno qiladi,
FILE ro'yxatiga kiritilgan

Fayl nomini aylantirish:

Strip-components=N belgilangan NUMBERni olib tashlang
dan boshlang'ich komponentlar
oldin fayl nomlari
qazib olish
--transform=kengaytirish
almashtirishdan foydalaning
uchun sed kengaytmalari
fayl nomini o'zgartirish

Joker shablon variantlarini nomlash
fayllar (qo'shish naqshlariga ta'sir qiladi va
istisnolar):

Ankorlangan fayl nomini boshlash naqshlari
--ignore-case e'tibor bermaslik
--har qanday "/" dan keyin langarlangan naqshlar yo'q (by
istisno uchun standart)
--no-ignore-case katta-kichik harflarga sezgir (by
standart)
--no-joker belgilar aniq mos
chiziq
--no-wildcards-match-slash maskalari mos kelmaydi
"/"
- joker belgilar niqoblardan foydalanadi (by
istisno uchun standart)
--joker belgilar-match-slash maskalari "/" bilan mos keladi (m
istisno uchun standart)

Axborot chiqishi:

Tekshirish punkti[=N] bajarilish xabarlarini ko‘rsatadi
har bir ijro
NUMBER ta yozuv (standart
10)
--checkpoint-action=ACTION har bir nazorat punktida ACTIONni bajaring
--index-file=FILE batafsil ma'lumotni yuboradi
FILE ichidagi ma'lumotlar
-l, --check-links agar xabarlarni chiqaradi
Barcha havolalar saqlanmaydi
--no-quote-chars=STRING
iqtibos keltirishni o'chiring
STRING dan belgilar
--quote-chars=STRING ixtiyoriy
dan iqtibos keltiring
Chiziqlar
--quoting-style=STYLE uslubi to'plami
ismlarni keltirish. Qiymatlar
STYLE uchun pastga qarang
-R, --blok-raqam blok raqamlarini chop etish
har bir xabarda arxiv
--show-defaults tar qiymatlarini ko'rsatadi
standart
--show-omitted-dirs listing yoki
ekstrakti hammasini ko'rsatadi
kataloglar, emas
shartga mos keladi
qidirmoq
--o'zgartirilgan-nomlarni ko'rsatish, --saqlangan-nomlarni ko'rsatish
fayl nomlarini ko'rsatish
yoki keyin arxivlar
transformatsiya
--totals[=SIGNAL] baytlarning umumiy soni
arxivga ishlov berilgandan so'ng; Bilan
argument - generalning xulosasi
etkazib berishdan keyin baytlar soni
bu SIGNAL. Ruxsat berilgan
signallari: SIGHUP, SIGQUIT, SIGINT, SIGUSR1
va SIGUSR2. Bunga ham ruxsat beriladi
nomlarsiz ishlating
SIG prefiksi
--utc chop etish faylini o'zgartirish sanasi
UTC formatida
-v, --verbose batafsil ro'yxat
qayta ishlangan fayllar
-w, --interaktiv, --tasdiqlash
tasdiqlashni so'rang
har bir harakat uchun

Moslik imkoniyatlari:

O yaratilish haqida, teng
--eski arxiv; qazib olishda,
--no-bir xil egasiga teng

Boshqa variantlar:

Ushbu yordamning chiqishiga yordam bering
--cheklash foydalanishni o'chirish
ba'zilari potentsial
xavfli variantlar
--usage chiqish qisqa xabari
foydalanish haqida
--version chiqish dasturi versiyasi

Majburiy yoki ixtiyoriy dalillar
uzoq variantlar uchun ham mavjud
uchun majburiy yoki ixtiyoriy
mos keladigan qisqa variantlar.

Zaxira nusxalari uchun qo'shimcha "~" dir, agar shunday bo'lmasa
--suffix orqali o'rnatiladi
yoki SIMPLE_BACKUP_SUFFIX. Versiyani boshqarish mumkin
o'rnatilsin
--backup yoki VERSION_CONTROL orqali. Qadriyatlar bo'lishi mumkin
bo'lmoq:

Yo'q, o'chirilgan zaxira nusxalarini yaratmang
t, raqamlangan yaratish raqamlangan
zaxira nusxalari
nol, mavjud raqamlangan, agar ular mavjud bo'lsa
raqamlangan nusxalar, aks holda oddiy
hech qachon, oddiy har doim oddiy yarat
zaxira nusxalari

--quoting-style variantlari uchun yaroqli argumentlar:

Harf
qobiq
qobiq - har doim
c
c-balki
qochish
mahalliy
klokal

*bu* tarning standart qiymatlari:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
--rsh-command=/usr/bin/rsh

Tar buyruq qatori yordam dasturi UNIX asosidagi operatsion tizimlarda arxivlar bilan ishlash uchun ishlatiladi. Uning yordami bilan siz ma'lumotlarni arxivlashingiz va disk maydonidan foydalanishni optimallashtirishingiz mumkin.

Arxivlarni yaratish va ochish

Yaratmoq

Yaratish kalit bilan amalga oshiriladi c. Sintaksis quyidagicha:

qatron -c<опции> <новый архивный файл> <что сжимаем>

Yaratishga misol:

tar -czvf archive.tar.gz /home/dmosk

* bu misolda arxiv yaratiladi archive.tar.gz foydalanuvchining uy katalogi ( /home/dmosk)
** Qayerda z— arxivni gzip-da siqish (bu parametrsiz tar siqilmaydi, balki tarball deb ataladigan narsani yaratadi); c— arxiv yaratish kaliti; v— batafsil rejim, ya'ni ekranda ko'rsatilgan jarayon bilan (ishning borishini kuzatish uchun juda qulay, lekin skriptlarda uni o'tkazib yuborish mumkin); f— fayldan foydalaning (biz uni aniq belgilaymiz, chunki biz asosan fayllar bilan ishlaymiz).

Paketdan chiqaring

Paketni ochish kalit bilan amalga oshiriladi x sintaksis bilan:

tar -x<опции> <архивный файл>

Paketni ochish misoli:

tar -xvf archive.tar.gz

Misollar

gz

.gz faylini ochish:

tar -xvf archive.tar.gz

* agar xatolik yuz bersa Bu tar arxiviga o'xshamaydi, buyrug'idan foydalanishingiz mumkin gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* j tugmasi bz2 bilan ishlash uchun javobgardir.

Agar tizim bzip2 haqida shikoyat qilsa, uni o'rnatishingiz kerak:

yum bzip2 ni o'rnating

apt-get o'rnatish bzip2

pkg bzip2 ni o'rnating

* mos ravishda, CentOS (RPM asoslangan), Ubuntu (deb asoslangan), FreeBSD (BSD asoslangan).

Agar xatolikni ko'rsak tar: Aniqlanmagan arxiv formati, keling, quyidagi buyruqdan foydalanamiz:

bzip2 -d archive.tar.bz2

gzip

tar -xvzf arxivi.tar.gzip

* z tugmasi gzip bilan ishlash uchun javobgardir.

tgz

Gzip kabi paketlarni ochish:

tar -xvzf archive.tgz

Muayyan jildga oching

tar -C /home/user -xvf archive.tar.gz

* kalit -C arxivdan fayllarni ochish kerak bo'lgan jildni belgilash uchun ishlatiladi.

Pastki jildsiz ochish

Bu usul oldindan tayyorlangan katalogni ochish uchun ishlatilishi mumkin. Katalog nomini o'zgartirish yoki "Bu erda o'rash" ning analogi qandaydir samara beradi:

tar -C /home/admin/mytar -xvf admin.tar.gz --strip-components 1

* katalog /home/admin/mytar oldindan yaratilishi kerak; --tarmoq-komponentlar 1 arxiv ichidagi bitta pastki jildni o'tkazib yuboradi.

Maskali fayllar bundan mustasno

Agar ba'zi fayllarni o'tkazib yuborish kerak bo'lsa, --exclude kaliti bilan buyruqni kiriting:

tar -czvf archive.tar.gz /wwwsite --exclude="sess_*"

* bu misolda biz arxiv yaratamiz archive.tar.gz bilan boshlanadigan fayllarni o'z ichiga olmaydi sess_.

Tar kalitlarining tavsifi

Harakat uchun buyruqlar

* Yuqoridagi tugmalardan bir nechtasini bitta buyruqda ishlata olmaysiz.

Qo'shimcha variantlar

Kalit Tavsif
--atime-saqlash Fayl uchun bir xil kirish vaqt tamg'asini qoldiring.
-b N Blok hajmini N x 512 ga o'rnating.
-C Katalogni o'zgartirish. Odatiy bo'lib, biz mavjud bo'lgan narsa ishlatiladi.
--nazorat punkti Arxiv faylini o'qiyotganda papka nomlarini ko'rsatish.
-G Ko'rsatish yoki olishda eski qo'shimcha zaxira formatidan foydalaning.
-g Ko'rsatish yoki olishda yangi qo'shimcha zaxira formatidan foydalaning.
-h Ramziy havolalarni takrorlamang. Faqat bu symlinks ishora qiladigan fayllar.
-i Nol bloklariga e'tibor bermang.
-j bzip2 dan foydalanish.
--e'tibor bermaslik-muvaffaqiyatsiz-o'qish O'qib bo'lmaydigan fayllarga e'tibor bermang.
-k Paketni ochishda mavjud fayllar arxivdagi tegishli fayllar bilan almashtirilmaydi.
-L N N * 1024 baytdan keyin magnit lentani o'zgartirish.
-m Qabul qilishda ob'ektni o'zgartirish vaqtini e'tiborsiz qoldiring.
-M Ko'p jildli arxivlar.
- N sana Faqat DATE sanasiga nisbatan yangiroq fayllarni saqlang
-O Standart chiqishga to'g'ridan-to'g'ri chiqish.
-p Himoyalangan ma'lumotlarni olish.
-P Nomlardan bosh qiyshiq chiziqni (/) ajratmaydi.
-s Ekstraksiya paytida fayllarni saralash.
--saqlash -ps bilan bir xil
--olib tashlash-fayllar Arxivga qo'shgandan so'ng manba fayllarni o'chiring.
--bir xil egasi Chiqarayotganda egasini saqlang.
--jami Arxiv yaratishda baytlarni chiqarish.
-v Harakatlar jurnali - harakat sodir bo'ladigan ob'ektlar ro'yxatini ko'rsatadi.
-V NAME NAME deb nomlangan jildda arxiv yaratilmoqda.
--versiya Tar versiyasini ko'rsatish.
-w Har bir harakat uchun tasdiqlashni talab qiling.
-V Yozishdan keyin arxivni tekshirish.
--FILEni istisno qilish FILE faylini chiqarib tashlash.
-X FILE FILE fayllarini istisno qiling.
-Z Siqish yordamida arxivni filtrlaydi.
-z Gzip yordamida.

* joriy variantlar ro'yxatini buyruq bilan olish mumkin odam qatroni.