Unix– ზე დაფუძნებულ ოპერაციულ სისტემებზე შესაძლებელია სხვადასხვა სახის არქივის ფორმატებთან მუშაობა. ამ სტატიაში მოცემულია არქივის ყველაზე გავრცელებული tar, zip, gzip, bzip2, xz ფორმატების ჩამონათვალი და მათი პარამეტრები.
დავიწყოთ tar არქივატორით
linux-ის და unix-ის მსგავს ოპერაციულ სისტემებში პროგრამა tar (Tape Archiver), გამოიყენებოდა მონაცემთა სარეზერვო ასლის შესაქმნელად ფირის დისკებზე. ეს საშუალებას გაძლევთ შექმნათ ან ამოიღოთ ფაილები საარქივო ფაილიდან, რომელსაც ხშირად უწოდებენ tarball. ამავე დროს, არქივის შექმნისას შეგიძლიათ სურვილისამებრ შეკუმშოთ, ხოლო მისი შინაარსის მოპოვებისას დააკომპრესიროთ. იგი დღესაც ძალიან პოპულარული და გავრცელებულია. TAR არქივატორის საწყის ვერსიას არ შეუძლია ფაილების შეკუმშვა მაგრამ დამატებიტი ოფციების გამოყენებით ის გვაძლევს საშუალებას შევკუმშოთ ფაილი gzip და bzip2-ის გამოყენებით.
განვიხილოთ რამოდენიმე მაგალითი:
ამოიღეთ testdir.tar– ის ყველა ფაილი testdir დირექტორიაში:
tar xvf testdir.tar
შექმენით არქივი და შეკუმშეთ gzip-ით:
tar zcvf testdir.tar.gz testdir
შექმენით არქივი და შეკუმშეთ bzip2-ით
tar jcvf testdir.tar.bz2 testdir
შექმენით არქივი და შეკუმშეთ xz-ით:
tar Jcvf testdir.tar.xz testdir
ამოიღეთ ყველა ფაილი testdir.tar.gz-დან testdir დირექტორიაში:
tar xvf testdir.tar.gz
იმისათვის, რომ კომპრესირებული ფაილი ამოვაარქივოთ სასურველ დირექტორიაში:
tar xvf testdir.tar.gz -C /home/user/newdir
ZIP არქივატორი
ინსტრუმენტი zip ძირითადად გამოიყენება Windows– ში, მაგრამ ასევე ხელმისაწვდომია Unix– ზე დაფუძნებული ოპერაციულ სისტემებში. პროგრამა ხშირად არ გამოიყენება Linux– ში ფაილების შესაკუმშად, მაგრამ საჭიროა სხვა ოპერაციული სისტემების არქივების შესამოწმებლად და ამოსაარქივებლად.
განვიხილოთ რამოდენიმე მაგალითი:
ქმნის რამოდენიმე ფაილის გაერთიანებულ არქივს და აკომპრესირებს მათ:
zip test.zip file1 file2
ფოლდერების რეკურსიული არქივაცია და კომპრესია:
zip -r test.zip folder1 folder2 folder3
დეკომპრესიის დაწყებამდე სასურველია ტერმინალში გავწეროთ ბრძანება, რომელიც გვიჩვენებს zip-არქივის საქაღალდეებისა და მათში არსებული ფაილების მდგომარეობას:
unzip -t test.zip
ასევე სასურველია გავწეროთ ბრძანება, რომელიც გვიჩვენებს zip არქივში არსებული ფაილების, ზომისა და შექმნის, ასევე რაოდენობის შესახებ ინფორმაციას:
unzip -l test.zip
ქვემოთ მოცემული ბრძანება, ამოიღებს ყველა ფაილს test.zip არქივიდან და ათავსებს მათ მიმდინარე დირექტორიაში :
unzip test.zip
ახდენს ყველა ფაილის შეკუმშვას მიმდინარე დირექტორიაში და ათავსებს მათ არქივში test.zip:
zip test *
gz, bzw. gzip არქივატორი
Gzip არის ყველაზე ხშირად გამოყენებული კომპრესირების პროგრამა, Linux და Unix მსგავს ოპერაციულ სისტემებში. ის ძალიან სწრაფია და საკმაოდ კარგად კუმშავს არქივებს.
Gzip ნიშნავს GNU zip და ფაილის გაფართოება .gz-ია. Gzip 1996 წლის მაისიდან არსებობს და დღესაც ფართოდ გამოიყენება.
შეკუმშეთ ერთი ფაილი:
ეს შეკუმშავს file.txt და შექმნის file.txt.gz
gzip file.txt
ერთდროულად მრავალი ფაილის შეკუმშვა:
ეს შეკუმშავს ბრძანებაში მითითებულ ყველა ფაილს
gzip file1.txt file2.txt file3.txt
ახდენს ყველა ფაილის შეკუმშვას მიმდინარე დირექტორიაში, თვითოეული ფაილი შეკუმშულია .gz გაფართოებით.
gzip *
bz2, bzw, bzip2 არქივატორი
bzip2– ს აქვს სინტაქსი, რომელიც gzip- ის მსგავსია, მაგრამ ის იყენებს განსხვავებულ კომპრესირების ალგორითმს და მნიშვნელოვნად მცირე ზომის ფაილებს აწარმოებს, სამუშაოს შესრულებისთვის უფრო მეტი დრო სჭირდება. ძირითადად, იგი უფრო დიდი ფაილების კომპრესირებისთვის გამოიყენება.
შეკუმშული ფაილის შექმნა:
bzip file
შექმენით არქივი და შეკუმშეთ bzip-ით:
tar zcvf testdir.tar.bz2 testdir
შეკუმშულ არქივში ფაილების შერწყმა:
tar cfvz archive.tar.bz2 file1 file2
ფაილის დეკომპრესია
bunzip file.bz2
არქივის დეკომპრესია და ამოღება
tar xfvz archive.tar.bz2
შეკუმშვის ინფორმაციის სანახავად:
-V ან –verbose იფციის საშუალებით ჩვენ ვხედავთ ინფორმაციას ფაილის კომპრესიის კოეფიციენტთან დაკავშირებით, რომელიც გვაჩვენებს, თუ რამდენს დაზოგავს დისკზე ჩვენი კომპრესია. დამატებითი “v” ოფციის დამატება შეიძლება უფრო სიღრმისეული ინფორმაციისთვის.
bzip2 -v linux-3.18.19.tar
xz არქივატორი
xz არის ყველაზე ეფექტურად გამოსაყენებელი მონაცემთა შეკუმშვის ინსტრუმენტი Linux- ში, სინტაქსით მსგავსი ძველი და უფრო პოპულარული gzip და bzip2 არქივატორებისა, რომელსაც ახლა www.kernel.org იყენებს Linux ბირთვის არქივების შესანახად. xz-ით, მივიღებთ კომპრესიის უკეთეს კოეფიციენტს.
შეკუმშვა 1 ფაილზე:
ეს დააკომპრესირებს file.txt და შექმნის file.txt.xz, გაითვალისწინეთ, რომ ამით წაიშლება ორიგინალი file.txt ფაილი.
xz file.txt
ერთდროულად შეკუმშოს მრავალი ფაილი.
ეს შეკუმშავს ბრძანებაში მითითებულ ყველა ფაილს, კიდევ ერთხელ გაითვალისწინეთ, რომ ამით ამოიშლება ორიგინალი ფაილები, რომლებიც მითითებულია file1.txt, file2.txt და file3.txt ფაილებად.
xz file1.txt file2.txt file3.txt
იმისათვის, რომ შეინახოთ ორიგინალი ფაილი და შექმნათ კომპრესირებული ასლი შეგვიძლია გამოვიყენოთ –k ან –keep ოფცია.
xz -k file.txt
ეს ასევე შეიძლება გაკეთდეს ქვემოთ მოცემული –c ოფციის საშუალებით.
xz -c file.txt > file.txt.xz
-C ოფციას გამოაქვს შეკუმშული ასლი file.txt to stdout, შემდეგ ის ეგზავნება file.txt.xz და ინარჩუნებს თავდაპირველ file.txt ფაილს
xz კომპრესირებული ფაილის დასაბრუნებლად, რომელიც შეკუმშეთ, შეგიძლიათ გამოიყენოთ xz ბრძანება ან unxz, რომელიც ასევე არის xz პაკეტის ნაწილი.
xz -d file.txt.xz
### ან ###
unxz file.txt.xz
ეს ორივე ბრძანება გამოიღებს ერთსა და იმავე შედეგს.