.\" ziptool.mdoc -- modify zip archives in multiple ways .\" Copyright (C) 2016-2022 Dieter Baron and Thomas Klausner .\" .\" This file is part of libzip, a library to manipulate ZIP archives. .\" The authors can be contacted at .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in .\" the documentation and/or other materials provided with the .\" distribution. .\" 3. The names of the authors may not be used to endorse or promote .\" products derived from this software without specific prior .\" written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE .\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER .\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .Dd January 23, 2023 .Dt ZIPTOOL 1 .Os .Sh "نام (NAME)" .Nm ziptool .Nd ابزار ویرایش و دستکاری مستقیم آرشیوهای فشرده ZIP با استفاده از libzip .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Fl ceghnrst .Op Fl l Ar length .Op Fl o Ar offset .Ar zip-archive .Cm command Op Ar command-args ... .Op Cm command Oo Ar command-args ... Oc ... .Sh "توضیحات (DESCRIPTION)" .Nm آرشیو زیپ .Ar zip-archive را بر اساس .Ar دستورات داده‌شده ویرایش و دستکاری می‌کند. .Pp گزینه‌های پشتیبانی‌شده: .Bl -tag -width MoMoffsetMM .It Fl c بررسی یکپارچگی و صحت آرشیو زیپ هنگام باز کردن آن. .It Fl e در صورتی که آرشیو از قبل وجود داشته باشد خطا می‌دهد (فقط همراه با .Fl n کاربرد دارد). .It Fl g حدس زدن کدگذاری نام فایل (برای دستور .Cm stat ). .It Fl h نمایش راهنما. .It Fl l Ar length فقط خواندن .Ar length بایت از آرشیو. همچنین ببینید: .Fl o . .It Fl n ایجاد آرشیو در صورتی که از قبل وجود نداشته باشد. همچنین ببینید: .Fl e . .It Fl o Ar offset شروع خواندن آرشیو ورودی از موقعیت بایت .Ar offset . همچنین ببینید: .Fl l . .It Fl r چاپ کدگذاری خام نام فایل بدون تبدیل (برای دستور .Cm stat ). .It Fl s پیروی دقیق از قرارداد نام‌گذاری فایل (برای دستور .Cm stat ). .It Fl t نادیده گرفتن محتوای فعلی فایل (در صورت وجود). .Em نکته : از این گزینه با احتیاط استفاده کنید؛ هنگام ویرایش آرشیو، تمام محتوای موجود فایل‌ها را پاک می‌کند. .El .Ss "دستورات (Commands)" در تمام دستورات زیر، شاخص‌ها بر پایه صفر (zero-based) هستند. به عبارت دیگر، اولین مدخل در آرشیو زیپ دارای شاخص ۰ است. .Pp دستورات و آرگومان‌های پشتیبانی‌شده عبارتند از: .Bl -tag -width 10n .It Cm add Ar name content افزودن فایلی با نام .Ar name با استفاده از رشته متنی .Ar content از خط فرمان به عنوان داده ورودی. .It Cm add_dir Ar name افزودن دایرکتوری با نام .Ar name . .It Cm add_file Ar name file_to_add offset len افزودن فایل .Ar name به آرشیو، با استفاده از .Ar len بایت از فایل .Ar file_to_add به عنوان داده ورودی، از موقعیت .Ar offset . .It Cm add_from_zip Ar name archivename index offset len افزودن فایلی با نام .Ar name به آرشیو با استفاده از داده‌های یک آرشیو زیپ دیگر به نام .Ar archivename از طریق مدخل با شاخص .Ar index و خواندن .Ar len بایت از موقعیت .Ar offset . .It Cm cat Ar index ارسال محتوای فایل مربوط به مدخل با شاخص .Ar index به خروجی استاندارد (stdout). .It Cm count_extra Ar index flags چاپ تعداد فیلدهای اضافی برای مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags . .It Cm count_extra_by_id Ar index extra_id flags چاپ تعداد فیلدهای اضافی از نوع .Ar extra_id برای مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags . .It Cm delete Ar index حذف مدخل با شاخص .Ar index از آرشیو زیپ. .It Cm delete_extra Ar index extra_idx flags حذف فیلد اضافی شماره .Ar extra_idx از مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags . .It Cm delete_extra_by_id Ar index extra_id extra_index flags حذف فیلد اضافی شماره .Ar extra_index از نوع .Ar extra_id از مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags . .It Cm get_archive_comment چاپ توضیح آرشیو. .It Cm get_archive_flag Ar flag چاپ وضعیت فلگ آرشیو .Ar flag . .It Cm get_extra Ar index extra_index flags چاپ فیلد اضافی .Ar extra_index برای مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags . .It Cm get_extra_by_id Ar index extra_id extra_index flags چاپ فیلد اضافی .Ar extra_index از نوع .Ar extra_id برای مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags . .It Cm get_file_comment Ar index دریافت توضیح فایل برای مدخل با شاخص .Ar index در آرشیو. .It Cm get_num_entries Ar flags چاپ تعداد مدخل‌های موجود در آرشیو با استفاده از .Ar flags . .It Cm name_locate Ar name flags یافتن مدخل در آرشیو با نام فایل .Ar name با استفاده از .Ar flags و چاپ شاخص آن. .It Cm rename Ar index name تغییر نام مدخل با شاخص .Ar index در آرشیو به .Ar name . .It Cm replace_file_contents Ar index data جایگزین کردن محتوای فایل برای مدخل با شاخص .Ar index در آرشیو با رشته متنی .Ar data . .It Cm set_archive_comment Ar comment تنظیم توضیح آرشیو به .Ar comment . .It Cm set_archive_flag Ar flag Ar value تنظیم فلگ آرشیو .Ar flag به مقدار .Ar value . .It Cm set_extra Ar index extra_id extra_index flags value تنظیم فیلد اضافی شماره .Ar extra_index از نوع .Ar extra_id برای مدخل با شاخص .Ar index در آرشیو با استفاده از .Ar flags به مقدار .Ar value . .It Cm set_file_comment Ar index comment تنظیم توضیح فایل برای مدخل با شاخص .Ar index در آرشیو به رشته متنی .Ar comment . .It Cm set_file_compression Ar index method compression_flags تنظیم روش فشرده‌سازی فایل برای مدخل با شاخص .Ar index در آرشیو به .Ar method با استفاده از .Ar compression_flags . .Em نکته : در حال حاضر، .Ar compression_flags نادیده گرفته می‌شوند. .It Cm set_file_encryption Ar index method password تنظیم روش رمزگذاری فایل برای مدخل با شاخص .Ar index در آرشیو به .Ar method همراه با گذرواژه .Ar password . .It Cm set_file_mtime Ar index timestamp تنظیم زمان آخرین تغییر فایل (mtime) برای مدخل با شاخص .Ar index در آرشیو به برچسب زمان یونیکس .Ar timestamp . .It Cm set_file_mtime_all Ar timestamp تنظیم زمان آخرین تغییر (mtime) برای تمام مدخل‌های آرشیو به برچسب زمان یونیکس .Ar timestamp . .It Cm set_password Ar password تنظیم گذرواژه پیش‌فرض برای رمزگذاری/رمزگشایی به .Ar password . .It Cm stat Ar index چاپ اطلاعات مربوط به مدخل با شاخص .Ar index در آرشیو. .El .Ss "فلگ‌ها (Flags)" برخی دستورات آرگومان‌هایی از نوع فلگ دریافت می‌کنند. هر کاراکتر در آرگومان، فلگ متناظر را فعال می‌کند. برای عدم استفاده از فلگ‌ها از 0 یا یک رشته خالی استفاده کنید. .Pp فلگ‌های پشتیبانی‌شده عبارتند از: .Bl -tag -width MMM -compact -offset indent .It Ar 4 .Dv ZIP_FL_ENC_CP437 .It Ar 8 .Dv ZIP_FL_ENC_UTF_8 .It Ar C .Dv ZIP_FL_NOCASE .It Ar c .Dv ZIP_FL_CENTRAL .It Ar d .Dv ZIP_FL_NODIR .It Ar l .Dv ZIP_FL_LOCAL .It Ar r .Dv ZIP_FL_ENC_RAW .It Ar s .Dv ZIP_FL_ENC_STRICT .It Ar u .Dv ZIP_FL_UNCHANGED .El .Ss "فلگ‌های آرشیو (Archive flags)" دستورات .Cm get_archive_flag و .Cm set_archive_flag روی فلگ‌های زیر کار می‌کنند: .Bl -bullet -compact -offset indent .It .Dv create-or-keep-empty-file-for-archive .It .Dv is-torrentzip .It .Dv rdonly .It .Dv want-torrentzip .El .Ss "روش‌های فشرده‌سازی (Compression Methods)" برخی دستورات آرگومان‌های مربوط به روش فشرده‌سازی دریافت می‌کنند. روش‌های پشتیبانی‌شده عبارتند از: .Bl -bullet -compact -offset indent .It .Dv default .It .Dv deflate .It .Dv store .El .Ss "روش‌های رمزگذاری (Encryption Methods)" برخی دستورات آرگومان‌های مربوط به روش رمزگذاری دریافت می‌کنند. روش‌های پشتیبانی‌شده عبارتند از: .Bl -bullet -compact -offset indent .It .Dv none .It .Dv AES-128 .It .Dv AES-192 .It .Dv AES-256 .El .Sh "وضعیت خروج (EXIT STATUS)" .Ex -std .Sh "مثال‌ها (EXAMPLES)" افزودن فایلی با نام .Pa teststring.txt به آرشیو زیپ .Pa testbuffer.zip با داده متنی .Dq This is a test.\en که در آن .Dq \en با نویسه خط جدید جایگزین می‌شود: .Bd -literal -offset indent ziptool testbuffer.zip add teststring.txt \"This is a test.\en\" .Ed .Pp حذف اولین فایل از آرشیو زیپ .Pa testfile.zip : .Bd -literal -offset indent ziptool testfile.zip delete 0 .Ed .Sh "همچنین ببینید (SEE ALSO)" .Xr zipcmp 1 , .Xr zipmerge 1 , .Xr libzip 3 .Sh "تاریخچه (HISTORY)" .Nm در libzip 1.1 افزوده شد. .Sh "نویسندگان (AUTHORS)" .An -nosplit .An Dieter Baron Aq Mt dillo@nih.at و .An Thomas Klausner Aq Mt wiz@gatalith.at