اطلاعیه

بستن
No announcement yet.

فشرده سازی فایل/دایرکتوری ها با zip

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    فشرده سازی فایل/دایرکتوری ها با zip

    zip رایجترین فرمت بین فرمت های فشرده سازی فایل هاست که در تمامی سیستم های عامل بدون هیچ نرم افزار خاصی برای نصب قابل پشتیبانی است. اگر می خواهید فایل هایی را فشرده و بین تمامی سیستم های عامل انتقال دهید zip بهترین فرمت برای این کار است. در سیستم عامل های مبتنی بر یونیکس بصورت پیش فرض از فرمت zip پشتیبانی می شود. دستور های zip و unzip برای فشرده سازی و استخراج استفاده می شوند. برای شروع دستور های زیر برای خواندن help دستور ها استفاده کنید.

    کد PHP:
    zip  –help

    unzip  
    -help 
    فشرده سازی فایل ها با zip :
    شکل کلی زیر برای فشرده کردن فایل های درون یک دایرکتوری استفاده می شود.

    کد PHP:
    zip  zip_filename.zip  /path/to/dir/*  or  /path/to/dir/filename

    zip  -r  zip_filename.zip  /path/to/dir 
    اولین دستور به شکل */path/to/dir/ تمامی فایل های درون دایرکتوری dir را فشرده می کند ولی شکل path/to/dir/filename/ تنها یک فایل خاص را فشردهمی کند دومین دستور با استفاده از سوئیچ r- بصورت تمامی فایل ها و دایرکتوری های درون دایزکتوری dir را بصورت recursive یا بازگشتی فشرده می کند. تفاوت اولین دستور با دستور دوم در این است که در شکل اول فقط فایل های درون دایرکتوری dir فشرده می شوند ولی در شکل دوم به جر فایل های درون دایرکتوری dir بصورت سلسه مراتبی تمامی فایل های درون زیر دایزکتوری های درون دایرکتوری dir نیز کپی می شوند. برای مثال دو دستور زیر را اجرا کنید و در خروجی می بینید که فایل های درون یک زیر دایرکتوری به نام httpd که زیر دایرکتوری log است در حالت دوم نسز جز فایل فشرده شده خواهد بود در صورتی که در شکل اول انطور نیست و فقط فایل های درون دایرکتوری log جز فایل فشرده خواهتد بود.

    کد PHP:
    */zip  logs_compress.zip  /var/log

    /zip  – r logs_compress.zip  /var/log 
    10 سطح یا Level برای استفاده فشرده سازی با دستور zip وجود دارد. سطح 0 که فقط فایل ها را ذخیره یا آرشیو می کند و سطح 1 کمی حالت فشرده سازی دارد. سطح پیش فرض 6 است که اگر ننویسید سطح 6 استفاده می شود. کندترین سطح فشرده سازی 9 است. تفاوت آرشیو (سسطح 0) با فشرده سازی (سطح 6) در این است که در ارشیو کردن حجم فایل ها تغییر نمی کند و تنها فایل ها را در یک فایل zip ذخیره می شوند ولی فشرده سازی یعنی اینکه فایل ها را با حجم کمتری ذخیره کنیم. شکل کلی استفاده از سطح ها بصورت زیر است.

    کد PHP:
    zip -lev# zip_filename.zip  /path/to/dir/*  or  /path/to/dir/filename

    zip  -lev#  -r  zip_filename.zip  /path/to/dir 
    برای مثال دو دستور زیر را اجرا کنید و سپس با دستور ls -lh اندازه فایل های zip شده را مقایسه کنید. در خروجی خواهید دید حجم فایل آرشیو شده با سطح 0 بسیار بیشتر از بقیه است.

    کد PHP:
    zip  -0  -r  log_comp0.zip  /var/log

    zip  
    -1  -r  log_comp1.zip  /var/log

    zip  
    -6  -r  log_comp6.zip  /var/log

    zip  
    -9  -r  log_comp9.zip  /var/log 
    دستور زیرحجم تمامی فایل ها با پسوند zip. را نشان می دهد.

    کد PHP:
    ls  -lh  *.zip 
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	zip.png نمایش ها:	1 اندازه:	7.9 KB شناسه:	18362

    همانطور که می بینید حجم سطه 0 از همه بیشتر (آرشیو فایل ها) و حجم سطح 9 از همه کمتر (کندترین سطح فشرده سازی) است.

    سوئیچ v- به معنی verbose وقتی دایرکتوری یا فایلی را فشرده می کنید یک سری اطلاعات کاملتر از فرایند را نشان می دهد.

    کد PHP:
    zip  – v  zip_filename.zip  /path/to/dir/*  or  /path/to/dir/filename

    zip  -r  -v  zip_filename.zip  /path/to/dir 
    استخراج فایل ها با unzip :
    دستور unzip برای استخراج فایل ها استفاده می شود. شکل کلی استفاده از آن به صورت زیر است.

    کد PHP:
    unzip  zip_filename.zip 
    در دستور بالا فایل ها در دایرکتوری فعلی استخراج و ذخیره می شوند. با استفاده از سوئیچ d- فایل ها را یک دایرکتوری دیگر استخراج و ذخیره می کنیم.

    کد PHP:
    unzip  zip_filename.zip  -d  /path/to/dir/for/extract 
    برای فهرست کردن محتوای یک فایل zip بدون استخراج آن از شکل کلی زیر استفاده کنید.

    کد PHP:
    unzip   -l  zip_filename.zip 
    سوئیچ v- به معنی verbose وقتی دایرکتوری یا فایلی را استخراج می کنید یک سری اطلاعات کاملتر از فرایند را نشان می دهد.

    کد PHP:
    unzip  – v  zip_filename.zip 
    با سوئیچ t- صحت درستی داده های درون فایل تست می شوند.

    کد PHP:
    unzip  -t  zip_filename.zip 
    ایجاد پسورد روی فایل zip با سوئیچ P- و به شکل کلی زیر امکان پذیر است.

    کد PHP:
    zip -P  YUOR_PASSWORD zip_filename.zip  /path/to/dir/*  or  /path/to/dir/filename

    zip  -r  -P  YOUR_PASSWORD zip_filename.zip  /path/to/dir 
    بجای YOUR_PASSWORD پسورد دلخواه را قرار دهید. مشکل سوئیجP- این است که پسورد واضح و آشکار است برای اینکه یک اعلان برای ورود پسورد داده شود از سوئیچ e- استفاده کنید. شکل کلی بصورت زیر است.

    کد PHP:
    zip  -e zip_filename.zip  /path/to/dir/*  or  /path/to/dir/filename

    zip  -e  -r  zip_filename.zip  /path/to/dir 
    پس از اجرای هر یک از فرمت های بالا اعلان ورود پسورد و تایید پسورد داده می شود.

    کد PHP:
    Enter password

    Verify password 
    وقتی می خواهید با دستور unzip یک فایل zip شده دارای پسورد را استخراج کنید یک اعلان برای ورود پسورد داده خواهد شد. اعلانی شبیه به زیر داده می شود.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	ZIP1.png نمایش ها:	1 اندازه:	5.6 KB شناسه:	18363

    اگر بخواهید محتوای یک فایل ZIP را در دایرکتوری که از قبل شامل همان اطلاعات است استخراج کنید پیغام هشدار دهنده زیر داده می شود که فایل های همنامی از قبل وجود دارند و با ورود y فایل های جدید جایگزین یا overwrite روی فایل های قبلی بشوند و با ورود n جلوگیری می شود. به ازای هر فایل مشابه در دایرکتوری و فایل zip اعلان داده خواهد شد که باید y یا n را برای overwrite شدن یا نشدن هر فایل انجام دهید.

    کد PHP:
    replace ../log1/var/log/cron? [y]es, [n]o, [A]ll, [N]one, [r]ename 
    و اگر می خواهید بدون هیچ پیامی تمامی فایل های جدید جایگزین فایل های قدیم شوند از سوئیچ o- به معنی overwrite استفاده کنید.

    کد PHP:
    unzip  -o  zip_filename.zip 
    و اگر می خواهید به هیچ عنوان فایل های جدید روی فایل قدیم overwrite شنوند باید از سوئیچ n- یا never استفاده کنید. در انصورت دیگر اعلان replace بالا نشان داده نمی شود.

    کد PHP:
    unzip  -n  zip_filename.zip 

    نویسنده نامی امیر
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-13-2020, 03:42 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X