لینوکس مقدماتی/آرشیوسازی فایلها
آرشیو سازی(archiving) فایلها به معنای آرشیو کردن چنیدن فایل ودایرکتوری به صورت یک فایل میباشد(بدون فشردهسازی). بنابراین اگر ۵ فایل ۱۰ مگابایتی را با هم آرشیو کنیم در نهایت خروجی یک فایل ۵۰ مگابایتی خواهد شد. عملیات آرشیو سازی ممکن است با فشردهسازی (compressing) نیز همراه باشد.
برنامههای مهم
Tar
برنامهای برای ایجاد فایل آرشیو از چندین فایل.این برنامه فقط آرشیو میسازد و عملیات فشردهسازی را انجام نمیدهد در حقیقت برای انجام عملیات فشرده سازی از برنامههای دیگر مثلا برنامههایی که در زیر خواهد آمد کمک میگیرد.
Gzip
برنامهای برای فشردهسازی فایلها.(آرشیوسازی نمیکند) شامل دو دستور gzip و gunzip است که از اولی برای فشردهسازی و دومی برای عملیات معکوس فشردهسازی استفاده میشود.
Bzip2
برنامهای است برای فشردهسازی فایلها.(آرشیوسازی نمیکند) شامل دو دستور bzip2 و bunzip2 است که از اولی برای فشردهسازی و دومی برای عملیات معکوس فشردهسازی استفاده میشود.
مقایسه: Bzip2 از Gzip، برای فشردهسازی فایلهای بزرگ مناسبتر است. Bzip2 بهینه تر عمل میکند به عبارت دیگر فایلها را نسبت به Gzip فشردهتر میکند.
zip
این برنامهای است که در ویندوز نیز از آن استفاده میشود و بر خلاف موارد بالا هم عملیات آرشیوسازی و هم عملیات فشردهسازی را توأمان انجام میدهد.
zip و unzip
ساختار
zip [path1][path2(s)]
path1 : مسیری که میخواهیم نتیجهٔ عملیات زیپ در آنجا ذخیره شود.
path2 : مسیر فایل یا فایلها یا دیرکتوریهایی که میخواهیم آنها را فشردهسازی کنیم.(ممکن است نام چند فایل پشت سر هم آورده شود)
مثال:
فشردهسازی سه فایل با نام file1.txt و file2.txt و file3.txt در یک فایل fi.zip
#path1: fi.zip
#path2: file1.txt and file2.txt and file3.txt
user1@sadegh-VirtualBox:~/Desktop/arch_dir/test/files/text_files$ zip fi.zip file1.txt file2.txt file3.txtمثال:
فشردهسازی دیرکتوری(باید از پرچم -r استفاده شود)
#-r : recursively
#path1: test/t.zip
#path2: files/
user1@sadegh-VirtualBox:~/Desktop/arch_dir$ zip -r test/t.zip files/ساختار
unzip [path1]
path1 : مسیری که میخواهیم نتیجهٔ عملیات unzipدر آنجا ذخیره شود.
user1@sadegh-VirtualBox:~/Desktop/arch_dir/test$ unzip t.zipbzip2 و bunzip2
فشردهسازی فایل tar
bzip2 files.tar
با اجرای دستور بالا فایل files.tar با فایل files.tar.bz جایگزین میشود.
از حالت فشرده در آوردن فایل فشرده شده با برنامهٔ bzip2
bunzip2 files.tar.bz
با اجرای دستور بالا فایل files.tar.bz با فایل files.tar جایگزین میشود.
gzip و gunzip
فشردهسازی فایل tar
gzip files.tar
با اجرای دستور بالا فایل files.tar با فایل files.tar.gz جایگزین میشود.
از حالت فشرده در آوردن فایل فشرده شده با برنامهٔ bzip2
gzip files.tar.gz
با اجرای دستور بالا فایل files.tar.gz با فایل files.tar جایگزین میشود.
Tar
آرشیوسازی به همراه
ساختار
tar [flags] [path1][path2]
[path1] : آدرسی که میخواهیم نتیجهٔ عملیات آرشیوسازی در آن ذخیره شود.
[path2] : آدرس دیرکتوری یا فایلی که میخواهیم آن را آرشیو کنیم.
[flags]: پرچمهای این دستور را یا میتوان به صورت جدا(-c -v -f) و یا سر هم(-cvf) استفاده کرد مثل سایر دستورات ولی باید توجه داشت که پرچ -fباید همیشه آخرین پرچم باشد.
نکته: همیشه باید پرچم -f آخرین پرچم برای دستور tar باشد در غیر اینصورت با خطا مواجه خواهیم شد.
مثال پرچمهای درست:
tar -cvf
tar -vcf
tar -cf
مثال پرچمهای غلط(موارد زیر اشتباه هستند):
tar -cfv
tar -fcv
tar -fc
پرچمها
-cf : ایجاد فایل آرشیو create file (متشکل از دو پرچم: -c و -f )
-xf : استخراج محتویات فایل آرشیو extract file (متشکل از دو پرچم: -x و -f)
-cvf : همان عملیات -cf به صورت verbose یعنی با بیان جزئیات عملیات برای کاربر(جزئیات عملیات در ترمینال چاپ میشود). متشکل از سه پرچم: -c و -v و-f
-xvf : همان عملیات -xf به صورت verbose یعنی با بیان جزئیات عملیات برای کاربر(جزئیات عملیات در ترمینال چاپ میشود) متشکل از سه پرچم: -x و -v و-f
مثال آرشیو کردن کردن یک دیرکتوری:
user1@sadegh-VirtualBox:~/Desktop$ tar -cf arch_dir/f.tar arch_dir/files/در مثال فوق دیرکتوری files را آرشیو میکنیم و نام فایل آرشیو را f.tar میگذاریم.
مثال آرشیو کردن چند فایل:
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files$ tar -cvf /home/user1/Desktop/f.tar file1.txt file2.txt file3.txtدر این مثال فایلهای file1.txt و file2.txt و file3.txt در دیرکتوری فعلی قرار دارند آرشیو شده و فایل آرشیو حاصل در آدرس /home/user1/Desktop با نام f.tar ایجاد میشود.
مثال اسخراج محتویات فایل آرشیو:
user1@sadegh-VirtualBox:~/Desktop$ tar -xf arch_dir/f.tarآرشیوسازی به همراه فشردهسازی همزمان با استفاده از bzip2 و gzip با استفاده از پرچمهای -j و -z
-z
ایحاد
آرشیوسازی و فشردهسازی چند فایل
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files$ tar -cvzf result.tgz file1.txt file2.txt file3.txt pic.jpg
#میتونستیم از پرچم های زیر هم استفاده کنیم
#-vczf -zcvf -zvcf
#نکتهٔ مهم این است که باید پرچم
#-f
#حتما آخرین پرچم باشدآرشیوسازی و فشردهسازی دیرکتوری
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files$ tar -cvzf res.tgz test/پسوند tgz برای فایل خروجی یعنی result.tgz فقط برای این است که کاربر عادی با دیدن فایل متوجه شود که برای استخراج محتویات این فایل باید از برنامهٔ gzip استفاده کند و ارزش دیگری ندارد.
یعنی میشد هر پسوند دیگری برای آن در نظر گرفت ولی استاندارد یا tgz و یا tar.gz است.
استخراج
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files/test$ tar -xvzf result.tgzنکته: در پرچمهای -cvzf و -xvzf ، باید پرچم -f همیشه به عنوان آخرین پرچم قرار بگیرد ولی بقیهٔ پرچمها را میتوان جابهجا کرد مثلا -vzcf یا ...
نکته: -cvzf یعنی create verbosely gzip file
نکته: -xvzf یعنی extract verbosely gzip file
نکته: همانطور که از تعریف -v پیداست، این پرچم فقط به منظور نمایش جزئیات عملیات برای کاربر است بنابر این استفاده از آن ضروری نیست. یعنی -czf یا -xzf
-j
ایجاد
آرشیوسازی و فشردهسازی چند فایل
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files$ tar -cvjf result.tbz file1.txt file2.txt file3.txt pic.jpgآرشیوسازی و فشردهسازی
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files$ tar -cvjf res.tgz test/استخراج
user1@sadegh-VirtualBox:~/Desktop/arch_dir/files/text_files/test$ tar -xvjf result.tbzنکته: در پرچمهای -cvjf و -xvjf ، باید پرچم -f همیشه به عنوان آخرین پرچم قرار بگیرد ولی بقیهٔ پرچمها را میتوان جابهجا کرد مثلا -vjcf یا ...
نکته: -cvjf یعنی create verbosely bzip2 file
نکته: -xvjf یعنی extract verbosely bzip2 file
نکته: همانطور که از تعریف -v پیداست، این پرچم فقط به منظور نمایش جزئیات عملیات برای کاربر است بنابر این استفاده از آن ضروری نیست. یعنی -cjf یا -xjf
نکته: برای نامگذاری فایلهای فشرده شدهٔ tar با برنامهٔ bzip2 یا از نام tar.bz یا نام tbz استفاده میکنند.
نکته: برای نامگذاری فایلهای فشرده شدهٔ tar با برنامهٔ gzip یا از نام tar.gz یا نام tgz استفاده میکنند.
نکته: طبق قرداد نامگذاری ۸.۳ که به آن SFN نیز گفته میشود که مربوط به سیستمعامل داس و سیستم عامل ویندوز میباشد و هدف آن پسوند فایلها(File Extensions) ی کوتاه است، بهتر است که از tgz و tbz استفاده کنیم.