دستور zip در لینوکس یک ابزار قدرتمند و پرکاربرد برای فشردهسازی فایلها و دایرکتوریهاست که به کاهش حجم آنها برای ذخیرهسازی یا انتقال کمک میکند.
این دستور با گرفتن یک یا چند فایل، آنها را در یک فایل فشرده با پسوند .zip
قرار میدهد که معمولاً با اعمال فشردهسازی، فضای ذخیرهسازی را صرفهجویی میکند.
دستور zip برای مدیران سیستم و کاربران لینوکس مزایای زیادی دارد، زیرا مدیریت حجم زیادی از دادهها را ساده میکند، بهویژه هنگام کار با نسخههای پشتیبان یا انتقال فایلها در شبکهها.
انعطافپذیری این دستور به دلیل گزینههای مختلف آن است، مانند انتخاب سطح فشردهسازی، افزودن رمز عبور، یا تقسیم آرشیوها به بخشهای کوچکتر، که به کاربران امکان میدهد فرایند را مطابق با نیازهای خود تنظیم کنند.
استفاده از zip در خط فرمان:
ساختار اصلی دستور:
zip [گزینهها] <نام-آرشیو>.zip <فایل۱> <فایل۲>
- zip: دستور برای ایجاد آرشیو فشرده
.zip
. - [گزینهها]: پارامترهای اختیاری برای تغییر نحوه عملکرد دستور (مانند سطح فشردهسازی یا حذف فایلها).
- <نام-آرشیو>.zip: نام فایل فشرده خروجی.
- <فایل۱> <فایل۲> …: فایلها یا دایرکتوریهایی که قصد فشردهسازی آنها را دارید.
استفاده از zip در محیط گرافیکی:
کاربران میتوانند با انتخاب فایلها، گزینه «Compress» را برگزینند و فرمت .zip
را مشخص کنند تا بهسادگی فایلهای خود را آرشیو کنند.
پیشنیازهای استفاده از دستور zip در لینوکس
برای استفاده از دستور zip و فشردهسازی فایلها در لینوکس، سیستم شما باید شرایط زیر را داشته باشد:
- یک سرور لینوکس (VPS) با یکی از توزیعهای سازگار مانند اوبونتو، دبیان یا CentOS.
- دسترسی به یک کاربر غیر ریشهای با sudo.
- دسترسی به ترمینال یا خط فرمان برای اجرای دستور zip.
بررسی نصب بودن دستور zip در توزیعهای مختلف لینوکس
در سیستمهای مبتنی بر اوبونتو/دبیان:
sudo apt update sudo apt install zip
در CentOS/Fedora/RHEL:
sudo yum install zip
در Arch Linux و Manjaro:
sudo pacman -S zip unzip
بررسی نصب بودن دستور zip:
zip --version
نمونههای کاربردی دستور zip در لینوکس
دستور zip ابزاری قدرتمند برای فشردهسازی، ایمنسازی و انتقال دادهها در لینوکس است. در ادامه، چند نمونه عملی برای آشنایی با نحوه استفاده از این دستور آورده شده است:
۱. ایجاد یک آرشیو ZIP
برای ایجاد یک فایل فشرده، از دستور zip همراه با نام آرشیو و فایلهای موردنظر استفاده کنید.
ساختار اصلی:
zip <نام-آرشیو>.zip <فایل۱> <فایل۲> ...
مثال:
zip documents.zip opera_project.txt
خروجی:
adding: opera_project.txt (deflated 18%)
این دستور بهویژه برای فشردهسازی دادهها جهت پشتیبانگیری یا کاهش حجم فایلها برای اشتراکگذاری مفید است.
۲. مشاهده محتویات آرشیو ZIP
برای مشاهده فایلهای موجود در یک آرشیو بدون استخراج آن، از گزینه -sf
استفاده کنید.
ساختار اصلی:
zip -sf <نام-آرشیو>.zip
مثال:
zip -sf files.zip
خروجی:
Archive: files.zip
Length Date Time Name
--------- ---------- ----- ----
۱۲۳۴ ۱۲-۱۲-۲۰۲۴ ۱۰:۰۰ opera_project.txt
--------- -------
۱۲۳۴ ۱ file
۳. افزودن نوع خاصی از فایلها به آرشیو ZIP
برای افزودن فایلهای با پسوند خاص، از گزینه -i
استفاده کنید.
ساختار اصلی:
zip -i "*.پسوند" <نام-آرشیو>.zip <فایل۱> <فایل۲> ...
مثال:
zip -i "*.txt" documents.zip opera_project.txt report.txt
خروجی:
adding: opera_project.txt (deflated 18%)
adding: report.txt (deflated 20%)
۴. تنظیم سطح فشردهسازی
با استفاده از گزینه -#
(که # عددی بین ۰ تا ۹ است)، میتوانید سطح فشردهسازی را کنترل کنید.
ساختار اصلی:
zip -9 <نام-آرشیو>.zip <فایل۱> <فایل۲> ...
مثال:
zip -9 documents.zip opera_project.txt
خروجی:
adding: opera_project.txt (deflated 58%)
۵. فشردهسازی فایلها و دایرکتوریها بهصورت همزمان
برای فشردهسازی دایرکتوریها به همراه فایلها، از گزینه -r
استفاده کنید.
ساختار اصلی:
zip -r <نام-آرشیو>.zip <نام-دایرکتوری> <فایل۱> <فایل۲> ...
مثال:
zip -r documents.zip opera_project report.txt
خروجی:
adding: opera_project/ (stored 0%)
adding: opera_project/file1.txt (deflated 20%)
adding: report.txt (deflated 30%)
ترکیب گزینهها:
میتوانید -r
را با -q
(برای کاهش خروجی) ترکیب کنید:
zip -r -q documents.zip opera_project report.txt
۶. حذف فایل از یک آرشیو ZIP موجود
برای حذف یک فایل خاص از یک آرشیو، از گزینه -d
استفاده کنید.
ساختار اصلی:
zip -d <نام-آرشیو>.zip <نام-فایل-برای-حذف>
مثال:
zip -d project.zip opera_notes.txt
خروجی:
deleting: opera_notes.txt
این مثالها به شما کمک میکنند تا از دستور zip برای مدیریت فایلها به روشی حرفهای استفاده کنید.
۷. بهروزرسانی فایلهای موجود در یک آرشیو ZIP
گزینه -u
در دستور zip امکان بهروزرسانی فایلهای موجود در یک آرشیو را فراهم میکند. این کار تنها فایلهایی که تغییر کردهاند را مجدداً اضافه میکند، و در نتیجه زمان و فضای ذخیرهسازی را صرفهجویی میکند.
ساختار اصلی:
zip -u <نام-آرشیو>.zip <فایل-برای-بهروزرسانی>
مثال:
zip -u documents.zip opera_project.txt
خروجی:
updating: opera_project.txt (deflated 20%)
این گزینه برای حفظ حالت فعلی آرشیو بدون نیاز به بازسازی کامل آن بسیار مفید است.
۸. انتقال فایلها به یک آرشیو ZIP
گزینه -m
فایلها را فشرده کرده و سپس از مکان اصلی حذف میکند. این روش فایلها را به آرشیو منتقل کرده و فضای سیستم را بهینه میکند.
ساختار اصلی:
zip -m <نام-آرشیو>.zip <فایل-برای-انتقال>
مثال:
zip -m documents.zip opera_project.txt
خروجی:
adding: opera_project.txt (deflated 18%)
این روش برای ترکیب فشردهسازی و مدیریت سریع فایلها بسیار کاربردی است.
۹. فشردهسازی بازگشتی دایرکتوریها
گزینه -r
تمام فایلها و زیردایرکتوریهای یک دایرکتوری را بهصورت بازگشتی فشرده میکند.
ساختار اصلی:
zip -r <نام-آرشیو>.zip <نام-دایرکتوری>
مثال:
zip -r documents.zip opera_project
خروجی:
adding: opera_project/
adding: opera_project/opera_project.txt (deflated 25%)
این گزینه برای فشردهسازی پروژههای بزرگ یا تهیه نسخه پشتیبان بسیار مناسب است.
۱۰. حذف فایلهای ناخواسته از آرشیو ZIP
گزینه -x
امکان حذف فایلهای مشخصی را از فرآیند فشردهسازی فراهم میکند. این گزینه برای حذف فایلهای موقت یا لاگها بسیار کاربردی است.
ساختار اصلی:
zip -r -x <فایل-برای-حذف> <نام-آرشیو>.zip <نام-دایرکتوری>
مثال:
zip -r -x "*.log" documents.zip opera_project
خروجی:
adding: opera_project/
adding: opera_project/opera_project.txt (deflated 20%)
این روش به تمیز نگهداشتن آرشیو کمک میکند و از افزودن دادههای غیرضروری جلوگیری میکند.
۱۱. مشاهده جزئیات آرشیو ZIP
گزینه -v
اطلاعات دقیقی درباره فایلهای اضافهشده به آرشیو نشان میدهد.
ساختار اصلی:
zip -v <نام-آرشیو>.zip <فایل۱> <فایل۲> ...
مثال:
zip -v documents.zip opera_project.txt
خروجی:
adding: opera_project.txt (deflated 18%)
creating: documents.zip
adding: opera_project.txt (stored 18%)
این گزینه برای پیگیری فرآیند فشردهسازی مفید است.
۱۲. رمزگذاری آرشیو ZIP
گزینه -e
امکان ایجاد فایلهای ZIP محافظتشده با رمز عبور را فراهم میکند، و دسترسی به محتویات آرشیو را محدود میسازد.
ساختار اصلی:
zip -e <نام-آرشیو>.zip <فایل۱> <فایل۲> ...
مثال:
zip -e secure_documents.zip
opera_project report.txt
خروجی:
adding: opera_project/ (stored 0%)
adding: report.txt (deflated 20%)
با این گزینه، فایل ZIP رمزگذاری شده و برای استخراج محتویات آن نیاز به رمز عبور خواهد بود. این روش برای حفاظت از دادههای حساس در محیط لینوکس ایدهآل است.
۱۳. ایجاد آرشیوهای ZIP چند بخشی
گزینه -s
در دستور zip امکان تقسیم یک آرشیو بزرگ ZIP به بخشهای کوچکتر و قابل مدیریت را فراهم میکند. این ویژگی زمانی کاربرد دارد که نیاز به انتقال یا ذخیره فایلهای بزرگ بهصورت بخشبخش، مثلاً برای ارسال ایمیل یا آپلود روی سرور با محدودیت حجم، وجود داشته باشد.
ساختار اصلی:
zip -s <حجم> <نام-آرشیو>.zip <فایل۱> <فایل۲> ...
در این دستور، <حجم>
حداکثر اندازه هر بخش از آرشیو را مشخص میکند (مثلاً ۱۰m
برای ۱۰ مگابایت).
مثال:
برای تقسیم دایرکتوری opera_project
به آرشیوهای چند بخشی که هر بخش ۱۰ مگابایت باشد:
zip -s 10m split_project.zip opera_project
خروجی:
adding: opera_project/ (stored 0%)
adding: opera_project/file1.txt (deflated 20%)
adding: opera_project/subfolder/ (stored 0%)
creating split_project.zip.z01
creating split_project.zip.z02
این روش برای انتقال و مدیریت فایلهای حجیم بسیار کاربردی است و تضمین میکند که دادهها بهصورت بخشبخش و در اندازههای مشخص ذخیره یا توزیع شوند.
هر بخش آرشیو در فایلی جداگانه ذخیره میشود (مانند split_project.zip.z01
و split_project.zip.z02
).
ایجاد آرشیو ZIP با رابط گرافیکی (GUI) در لینوکس
برای افرادی که رابط گرافیکی را ترجیح میدهند، استفاده از مدیر فایل (File Manager) برای ایجاد یک آرشیو ZIP روش سادهای است. این روش بهخصوص برای کاربران تازهکار لینوکس که با دستورات خط فرمان آشنایی ندارند، مناسب است.
مراحل:
- انتخاب فایلها یا پوشهها:
به مدیر فایل (File Manager) بروید و فایلها یا پوشههایی را که میخواهید فشرده کنید، انتخاب کنید. - باز کردن گزینهها با کلیک راست:
روی آیتمهای انتخابشده راستکلیک کنید و گزینه “Compress” را از منوی بازشده انتخاب کنید. - انتخاب فرمت فشردهسازی:
فرمت.zip
را بهعنوان فرمت خروجی انتخاب کنید. - ذخیره آرشیو ZIP:
نام و مکان ذخیره آرشیو را مشخص کرده و روی گزینه “Create” کلیک کنید.
این روش برای کاربران تازهکار بسیار آسان و سریع است و نیازی به دانستن دستورات خط فرمان ندارد.
انتخاب فرمت ZIP: در کادری که نمایش داده میشود، فرمت .zip
را از میان گزینههای موجود برای فشردهسازی انتخاب کنید.
انتخاب سطح فشردهسازی (اختیاری): برخی ابزارهای گرافیکی به شما این امکان را میدهند که سطح فشردهسازی را تنظیم کنید، که میتواند آرشیو را کوچکتر یا فرآیند فشردهسازی را سریعتر کند.
ایجاد آرشیو ZIP: پس از انتخاب فرمت و تنظیم گزینهها، روی “Create” کلیک کنید تا آیتمهای انتخابشده در یک آرشیو ZIP فشرده شوند.
چگونه یک فایل ZIP را از حالت فشرده خارج کنیم؟
پس از یادگیری فشردهسازی فایلها با دستور zip، میتوانید بهسادگی فرآیند را معکوس کرده و فایلها را با دستور unzip از حالت فشرده خارج کنید.
دستور unzip یک روش ساده برای استخراج محتوای فایلهای ZIP است. بهطور پیشفرض، فایلها را در همان دایرکتوری فعلی از حالت فشرده خارج میکند و دسترسی به فایلهای فشردهشده را برای مدیریت یا انتقال آسان میسازد.
ساختار اصلی دستور:
unzip <archive-name>.zip
مثال:
برای خارج کردن فایل opera_backup.zip از حالت فشرده، دستور زیر را اجرا کنید:
unzip opera_backup.zip
خروجی:
Archive: opera_backup.zip
inflating: opera_backup/file1.txt
inflating: opera_backup/file2.txt
inflating: opera_backup/file3.txt
استفاده از دستور unzip برای استخراج فایلهای ZIP در لینوکس، فرآیندی سریع و کارآمد برای دسترسی و بازگردانی محتوای آرشیوهای فشرده است. این روش برای بازیابی سریع دادهها جهت استفاده یا تغییرات بیشتر ایدهآل است.
استخراج فایلها به یک دایرکتوری مشخص
برای استخراج فایلها به یک دایرکتوری خاص، از گزینه -d همراه با دستور unzip استفاده کنید. این روش کنترل بهتری بر محل ذخیرهسازی فایلها فراهم میکند.
ساختار اصلی دستور:
unzip <archive-name>.zip -d <target-directory>
مثال:
برای استخراج فایل opera_backup.zip در دایرکتوری /home/user/backup/
، دستور زیر را اجرا کنید:
unzip opera_backup.zip -d /home/user/backup/
خروجی:
Archive: opera_backup.zip
inflating: /home/user/backup/file1.txt
inflating: /home/user/backup/file2.txt
این روش باعث میشود فایلها بهطور منظم و در مکانهای مشخصی ذخیره شوند، که برای مدیریت آرشیوهای بزرگ بسیار مفید است.
استخراج فایلهای محافظتشده با رمز عبور
برای استخراج فایلهای ZIP محافظتشده با رمز عبور، از گزینه -P همراه با دستور unzip و رمز عبور استفاده کنید.
ساختار اصلی دستور:
unzip -P <password> <archive-name>.zip
مثال:
برای استخراج فایل opera_data.zip با رمز عبور securepass123
، دستور زیر را اجرا کنید:
unzip -P securepass123 opera_data.zip
خروجی:
Archive: opera_data.zip
inflating: file1.txt
inflating: file2.txt
این روش به شما امکان میدهد فایلهای محافظتشده را سریع و ساده از حالت فشرده خارج کنید و در محیطهای ایمن استفاده کنید.
مشاهده محتوای فایل ZIP بدون استخراج
برای مشاهده محتوای فایل ZIP بدون خارج کردن آن از حالت فشرده، میتوانید از گزینه -l استفاده کنید.
ساختار اصلی دستور:
unzip -l <archive-name>.zip
مثال:
برای مشاهده محتوای فایل opera_files.zip، دستور زیر را اجرا کنید:
unzip -l opera_files.zip
خروجی:
Archive: opera_files.zip
Length Date Time Name
--------- ---- ---- ----
۱۲۳۴ ۲۰۲۴-۱۱-۰۱ ۱۲:۳۴ file1.txt
۵۶۷۸ ۲۰۲۴-۱۱-۰۱ ۱۲:۳۵ file2.txt
۲۳۴۵ ۲۰۲۴-۱۱-۰۱ ۱۲:۳۶ image.jpg
--------- -------
۱۰۲۵۷ ۳ files
این دستور اطلاعاتی از قبیل نام فایلها، اندازه، و زمان آخرین تغییر را نمایش میدهد و به شما کمک میکند قبل از استخراج، محتوای فایل را بررسی کنید.
چگونه از طریق رابط گرافیکی (GUI) فایلهای ZIP را استخراج کنیم؟
استخراج فایلها از طریق رابط گرافیکی ساده و کاربرپسند است و به شما این امکان را میدهد بدون نیاز به دستورات خط فرمان، فایلهای ZIP را مدیریت کنید.
مراحل استخراج فایل ZIP با استفاده از GUI در لینوکس:
- پیدا کردن فایل ZIP: مدیر فایل خود را باز کرده و به مکان فایل ZIP که میخواهید استخراج کنید بروید.
- کلیک راست روی فایل ZIP: پس از یافتن فایل، روی آن کلیک راست کرده تا منوی زمینه با گزینههای موجود باز شود.
- انتخاب گزینه Extract: در منوی زمینه، گزینه “Extract Here” را برای استخراج فایلها در همان پوشه انتخاب کنید، یا “Extract to…” را برای انتخاب مکان مشخصی جهت استخراج فایلها انتخاب کنید.
انتخاب پوشه هدف (در صورت نیاز):
اگر گزینه “Extract to…” را انتخاب کنید، یک کادر محاورهای باز میشود. پوشهای که میخواهید فایلهای از حالت فشرده خارجشده در آن قرار گیرند را انتخاب کرده و سپس روی “Extract” یا “OK” کلیک کنید تا تأیید شود.
دسترسی به فایلهای استخراجشده:
پس از اتمام فرآیند استخراج، به محلی که فایلها را در آن استخراج کردهاید بروید تا به فایلها دسترسی پیدا کنید.
چگونه فایلهای ZIP بزرگ را مدیریت کنیم؟
برای تقسیم فایلهای ZIP بزرگ، از دستور زیر استفاده کنید:
zip -s 50m archive.zip file
این دستور فایلهای ZIP را به بخشهای ۵۰ مگابایتی تقسیم میکند و انتقال یا اشتراکگذاری فایلهای بزرگ را با بخشبندی آنها به قسمتهای کوچکتر آسانتر میکند.
آیا میتوان به یک آرشیو ZIP موجود فایل اضافه کرد؟
بله، شما میتوانید با استفاده از دستور زیر فایلهای جدید یا بهروزرسانیشده را به آرشیو ZIP موجود اضافه کنید:
zip -u archive.zip file.txt
این دستور برای افزودن فایلها به یک آرشیو فشردهشده بدون نیاز به بازسازی مجدد آن کاربرد دارد.
اگر دستور ZIP در سیستم وجود نداشت چه کار کنیم؟
اگر سیستم دستور zip را شناسایی نکرد، باید بسته مربوطه را نصب کنید. در سیستمهای مبتنی بر Debian از دستور زیر استفاده کنید:
sudo apt install zip
و در سیستمهای مبتنی بر Red Hat از دستور زیر:
sudo yum install zip
آیا میتوان سطح فشردهسازی را کنترل کرد؟
بله، میتوانید با استفاده از گزینه -۰ برای بدون فشردهسازی تا -۹ برای حداکثر فشردهسازی سطح را تنظیم کنید.
مثال:
zip -9 archive.zip file
سطح فشردهسازی بالاتر فضای بیشتری را ذخیره میکند، اما ممکن است فرآیند را کندتر کند.
چگونه محتوای فایل ZIP را بدون استخراج مشاهده کنیم؟
برای مشاهده محتویات یک آرشیو ZIP بدون خارج کردن آن از حالت فشرده، از دستور زیر استفاده کنید:
unzip -l archive.zip
این دستور فایلها و اندازههای آنها را درون آرشیو لیست میکند بدون اینکه فایلها استخراج شوند.
چگونه فقط فایلهای خاصی را استخراج کنیم؟
برای استخراج فایلهای مشخص از یک آرشیو ZIP، از دستور زیر استفاده کنید:
unzip archive.zip file1.txt
این روش زمانی مفید است که فقط به فایلهای خاصی نیاز دارید و نمیخواهید کل آرشیو را استخراج کنید.
بهترین شیوهها برای استفاده از دستور zip در لینوکس:
هنگام استفاده از دستور zip برای بکاپگیری یا انتقال فایلها، این موارد را در نظر بگیرید:
- همیشه بعد از فشردهسازی، سلامت فایلها را با دستور زیر بررسی کنید:
zip -sf <archive-name>.zip
- برای محافظت از فایلهای حساس از رمز عبور استفاده کنید:
zip -e <archive-name>.zip
این روش بهویژه هنگام انتقال فایلها در شبکههای غیرقابل اعتماد مفید است.
نتیجهگیری
دستور zip در لینوکس ابزاری قدرتمند برای مدیریت فایلها است که با فشردهسازی آنها به آرشیوهای کوچکتر و سازمانیافته، فضای ذخیرهسازی را بهینه کرده و اشتراکگذاری فایلها را آسانتر میکند.
این مقاله طیفی از گزینههای دستور zip، از فشردهسازی پایه گرفته تا تکنیکهای پیشرفته مانند رمزگذاری، فشردهسازی بازگشتی، و انتخاب/حذف فایلهای خاص را پوشش داده است.
با دنبال کردن این مثالها و توضیحات، کاربران لینوکس میتوانند تسلط بیشتری بر دستور zip پیدا کنند و از آن برای مدیریت بهتر فایلها، ذخیرهسازی دادهها و افزایش امنیت فایلها در کاربردهای مختلف بهره ببرند.