پنجشنبه, ۶ اردیبهشت, ۱۴۰۳ / 25 April, 2024
مجله ویستا

فشرده‌سازی و استخراج فایلها در لینوکس


فشرده‌سازی و استخراج فایلها در لینوکس
مزیت این فایل فشرده‌شده، اشغال فضای کمتر در دیسک و دانلود راحت آن از طریق اینترنت است. دانستن وجه تمایز یک فایل آرشیو (Archive file) و یک فایل فشرده (Compress file) نیز حائز اهمیت است. یک فایل آرشیو، مجموعه‌ای از فایلها و دایرکتوریها است که در یک فایل ذخیره می‌شود. این فایل، فشرده نیست و در واقع همان فضایی را اشغال می‌کند که ترکیب تک‌تک فایلها و شاخه‌ها با هم اشغال می کنند.
یک فایل فشرده، مجموعه‌ای از فایلها و دایرکتوریها است که در یک فایل ذخیره می‌شود و فضایی کمتر از مجموع همه فایلها و شاخه‌ها اشغال می‌نماید.
ـ نکته:
فایل آرشیو، فشرده نیست، اما یک فایل فشرده، می‌تواند یک فایل آرشیو باشد.
● فشرده‌سازی فایلها در Shell-Prompt
فایلهای فشرده‌شده، نسبت به فایلهای بزرگ و غیرفشرده، فضای بسیار کمتری را اشغال می‌کنند و بسیار سریعتر دانلود می‌شوند. در لینوکس، فایلها را می‌توان با ابزارهای فشرده‌سازی gzip، bzip۲ یا zip فشرده نمود. توصیه شده است که از ابزار Bzip۲ استفاده شود، به این علت که حداکثرفشرده‌سازی را دارد و در اغلب سیستمهای عامل شبه یونیکسی وجود دارد. البته gzip نیز در اغلب این سیستم‌عاملها پیدا می‌شود.
اگر احیاناً نیاز دارید که نقل و انتقال فایلها را بین لینوکس و سیستم‌عاملی مانند ویندوز مایکروسافت انجام دهید، بهتر است که از zip استفاده نمایید، چون این ابزار، سازگاری بیشتری با ابزارهای فشرده‌سازی روی ویندوز دارد.
در جدول فوق پسوند فایلها و ابزارهای استخراج آنها را می‌بینید.
● Bzip۲ و Bunzip۲
برای فشرده‌سازی یک فایل با استفاده از bzip۲، دستور زیر را در اعلان پوسته (shell prompt) تایپ کنید:
bzip۲ filename
فایل با نام filename.bz۲ فشرده خواهد شد. جهت استخراج فایل، دستور زیر را بکار برید:
bunzip۲ filename.bz۲
فایل filename.bz۲ حذف شده و با filename جایگزین خواهد شد.
از bzip۲ می‌توان برای فشرده کردن چندین فایل و دایرکتوری، به طور همزمان و با گذاشتن یک "فاصله" بین آنها، در قالب یک فایل استفاده نمود.
bzip۲ filename.bz۲ file۱ file۲ file۳ /usr/work/school
دستور فوق، فایلهای file۱، file۲، file۳ و محتویات دایرکتوری /usr/work/school را فشرده نموده و نتیجه را در فایلی با نام filename.bz۲ برمی‌گرداند.
ـ نکته: با تایپ man bzip۲ و man bunzip۲ در پرامپت پوسته، اطلاعات بیشتری، در مورد bzip۲ و bunzip۲ دریافت خواهید کرد.
● Gzip و Gunzip
برای استفاده از gzip، جهت فشرده‌سازی یک فایل، دستور زیر را به کار برید:
gzip filename
فایل مورد نظر با نام filename.gz فشرده و ذخیره خواهد شد. برای استخراج فایل نیز، دستور زیر را تایپ نمایید:
gunzip filename.gz
فایل filename.gz حذف شده و با filename جایگزین خواهد شد.
از gzip می‌توان برای فشرده کردن چندین فایل و دایرکتوری، به طور همزمان و با گذاشتن یک "فاصله" بین آنها، در قالب یک فایل استفاده نمود.
gzip -r filename.gz file۱ file۲ file۳ /usr/work/school
دستور فوق، فایلهای file۱، file۲، file۳ و محتویات دایرکتوری /usr/work/school را فشرده نموده و نتیجه را در فایلی با نام filename.gz برمی‌گرداند.
ـ نکته: با تایپ man gzip و man gunzip در پرامپت پوسته، اطلاعات بیشتری، در مورد gzip و gunzip دریافت خواهید کرد.
● Zip و Unzip
برای استفاده از zip، جهت فشرده‌سازی یک فایل، دستور زیر را به کار برید:
zip -r filename.zip filesdir
در این مثال، filename.zip نشان‌دهنده‌ی فایلی است که ایجاد می‌شود و filesdir دایرکتوریی است که می‌خواهید آن را در فایل zip جدید بریزید. سوییچ –r به این معنی است که تمامی فایلهای موجود در دایرکتوری filesdir را می‌خواهید. برای استخراج فایل نیز، دستور زیر را تایپ نمایید:
unzip filename.zip
از zip می‌توان برای فشرده کردن چندین فایل و دایرکتوری، به طور همزمان و با گذاشتن یک "فاصله" بین آنها، نیز در قالب یک فایل استفاده نمود.
zip -r filename.gz file۱ file۲ file۳ /usr/work/school
دستور فوق، فایلهای file۱، file۲، file۳ و محتویات دایرکتوری /usr/work/school را فشرده نموده و نتیجه را در فایلی با نام filename.zip برمی‌گرداند.
ـ نکته: با تایپ man zip و man unzip در پرامپت پوسته، اطلاعات بیشتری، در مورد zip و unzip دریافت خواهید کرد.
● آرشیوکردن فایلها در Shell Prompt
یک فایل tar مجموعه‌ای از چندین فایل و/یا دایرکتوری در قالب یک فایل می‌باشد. این روش، یک روش خوب برای تولید پشتیبانها و آرشیوها است.
▪ برخی از سوییچ‌های کاربردی در دستور tar عبارتند از:
ـ c یک آرشیو جدید ایجاد می‌کند.
- f هنگامی‌که که با –c به کار می‌رود، از نام فایل مورد نظر برای ایجاد tar فایل استفاده می‌نماید؛ هنگامی‌که با –x به کار می‌رود، فایل مورد نظر را از آرشیو خارج می‌سازد.
- t فهرست فایلهای موجود در فایل tarشده را نمایش می‌دهد.
- v جریان فایلهای در حال آرشیوشدن را نشان می‌دهد.
- x فایلها را از آرشیو استخراج می‌کند.
- z فایل tar را با ابزار gzip فشرده می‌کند.
- j فایل tar را با ابزار bzip۲ فشرده می‌کند.
برای ایجاد یک فایل tar، دستور زیر را تایپ نمایید:
tar -cvf filename.tar directory/file
در این مثال، filename.tar فایلی را نشان می‌دهد که شما آن را ایجاد می‌کنید و directory/file دایرکتوری/ فایلی است که می‌خواهید آنرا در فایل آرشیو قرار دهید.
همچنین می‌توانید چندین فایل و دایرکتوری را در همزمان، با قراردادن یک فاصله بین آنها، tar نمایید:
tar -cvf filename.tar /home/mine/work /home/mine/school
دستور فوق تمام فایلهای شاخه work و school را در یک فایل جدید به نام filename.tar، در شاخه جاری، قرار می‌دهد.
برای فهرست کردن محتویات یک فایل tar، تایپ کنید:
tar -tvf filename.tar
برای استخراج محتویات یک فایل tar، تایپ کنید:
tar -xvf filename.tar
این دستور فایل tar شده را حذف نمی‌کند، اما نسخه‌های محتویات غیرآرشیو آن را، با حفظ تمامی مسیرها، در شاخه جاری جای می‌‌دهد. به عنوان مثال، اگر tarfile شامل فایلی بنام bar.txt در دایرکتوری بنام foo/ باشد، استخراج فایل آرشیو به تولید دایرکتوری بنام foo/ در شاخه کاری جاری و با فایل bar.txt در داخل این دایرکتوری می‌انجامد.
خاطرنشان می‌کنیم که دستور tar، به طور پیش‌فرض، فایلها را فشرده نمی‌کند. برای ایجاد یک فایل tarشده و فشرده‌ی bzip دستور زیر را به کار برید:
tar -cjvf filename.tbz file
فایلهای tar فشرده‌شده با bzip۲ به طور قراردادی، دارای پسوند .tbz خواهند بود؛ اگرچه، برخی اوقات، کاربران، فایلهایشان را با استفاده از پسوند tar.bz۲ آرشیو می‌کنند.
دستور فوق، یک فایل آرشیو ایجاد کرده و آنرا در فایلی بنام filename.tbz فشرده می‌نماید. اگر این فایل را با دستور bunzip۲ غیرفشرده کنید، حذف شده و با فایلی بنام filename.tar جایگزین خواهد شد. همچنین می‌توانید فایل bzip tar را با دستور زیر استخراج و از آرشیو خارج کنید:
tar -xjvf filename.tbz
برای ایجاد یک فایل tarشده و فشرده شده با ابزار gzip از دستور زیر می‌توانید استفاده نمایید:
tar -czvf filename.tgz file
فایلهای tar فشرده‌شده با gzip به طور قراردادی، دارای پسوند .tgz هستند.
دستور فوق، فایل آرشیو filename.tar را ایجاد کرده و آنرا در فایلی بنام filename.tgz فشرده می‌نماید. (فایل filename.tar در جایی ذخیره نمی‌شود.) اگر این فایل را با دستور gunzip غیرفشرده کنید، حذف شده و با فایلی بنام filename.tar جایگزین خواهد شد. همچنین می‌توانید فایل gzip tar را با دستور زیر استخراج و از آرشیو خارج کنید:
tar -xzvf filename.tgz
ـ نکته: با تایپ دستور man tar، اطلاعات بیشتری، در مورد دستور tar دریافت خواهید کرد.
تهیه و تنظیم: زهرا احمدی
منبع : طرح ملی نرم‌افزارهای آزاد


همچنین مشاهده کنید