ZIPTOOL(1) User Commands ZIPTOOL(1)

NAME


ziptool - modify zip archives

SYNOPSIS


ziptool [-ceghnrst] [-l length] [-o offset] zip-archive
command [command-args ...] [command [command-args ...] ...]

DESCRIPTION


ziptool modifies the zip archive zip-archive according to the commands
given.

Supported options:

-c Check zip archive consistency when opening it.

-e Error if archive already exists (only useful with -n).

-g Guess file name encoding (for stat command).

-h Display help.

-l length Only read length bytes of archive. See also -o.

-n Create archive if it doesn't exist. See also -e.

-o offset Start reading input archive from offset. See also -l.

-r Print raw file name encoding without translation (for stat
command).

-s Follow file name convention strictly (for stat command).

-t Disregard current file contents, if any. Note: use this
with care, it deletes all existing file contents when you
modify the archive.

Commands


For all commands below, the index is zero-based. In other words, the
first entry in the zip archive has index 0.

Supported commands and arguments are:

add name content
Add file called name using the string content from the
command line as data.

add_dir name
Add directory name.

add_file name file_to_add offset len
Add file name to archive, using len bytes from the file
file_to_add as input data, starting at offset.

add_from_zip name archivename index offset len
Add file called name to archive using data from another zip
archive archivename using the entry with index index and
reading len bytes from offset.

cat index Output file contents for entry index to stdout.

count_extra index flags
Print the number of extra fields for archive entry index
using flags.

count_extra_by_id index extra_id flags
Print number of extra fields of type extra_id for archive
entry index using flags.

delete index
Remove entry at index from zip archive.

delete_extra index extra_idx flags
Remove extra field number extra_idx from archive entry
index using flags.

delete_extra_by_id index extra_id extra_index flags
Remove extra field number extra_index of type extra_id from
archive entry index using flags.

get_archive_comment
Print archive comment.

get_archive_flag flag
Print state of archive flag flag.

get_extra index extra_index flags
Print extra field extra_index for archive entry index using
flags.

get_extra_by_id index extra_id extra_index flags
Print extra field extra_index of type extra_id for archive
entry index using flags.

get_file_comment index
Get file comment for archive entry index.

get_num_entries flags
Print number of entries in archive using flags.

name_locate name flags
Find entry in archive with the filename name using flags
and print its index.

rename index name
Rename archive entry index to name.

replace_file_contents index data
Replace file contents for archive entry index with the
string data.

set_archive_comment comment
Set archive comment to comment.

get_archive_flag flag value
Set archive flag flag to value.

set_extra index extra_id extra_index flags value
Set extra field number extra_index of type extra_id for
archive entry index using flags to value.

set_file_comment index comment
Set file comment for archive entry index to string comment.

set_file_compression index method compression_flags
Set file compression method for archive entry index to
method using compression_flags. Note: Currently,
compression_flags are ignored.

set_file_encryption index method password
Set file encryption method for archive entry index to
method with password password.

set_file_mtime index timestamp
Set file modification time for archive entry index to UNIX
mtime timestamp.

set_file_mtime_all timestamp
Set file modification time for all archive entries to UNIX
mtime timestamp.

set_password password
Set default password for encryption/decryption to password.

stat index Print information about archive entry index.

Flags


Some commands take flag arguments. Each character in the argument sets
the corresponding flag. Use 0 or the empty string for no flags.

Supported flags are:
4 ZIP_FL_ENC_CP437
8 ZIP_FL_ENC_UTF_8
C ZIP_FL_NOCASE
c ZIP_FL_CENTRAL
d ZIP_FL_NODIR
l ZIP_FL_LOCAL
r ZIP_FL_ENC_RAW
s ZIP_FL_ENC_STRICT
u ZIP_FL_UNCHANGED

Archive flags


get_archive_flag and set_archive_flag work on the following flags:
+o create-or-keep-empty-file-for-archive
+o is-torrentzip
+o rdonly
+o want-torrentzip

Compression Methods


Some commands take compression method arguments. Supported methods
are:
+o default
+o deflate
+o store

Encryption Methods


Some commands take encryption method arguments. Supported methods are:
+o none
+o AES-128
+o AES-192
+o AES-256

EXIT STATUS


The ziptool utility exits 0 on success, and >0 if an error occurs.

EXAMPLES


Add a file called teststring.txt to the zip archive testbuffer.zip with
data "This is a test.\n" where "\n" is replaced with a newline
character:

ziptool testbuffer.zip add teststring.txt \"This is a test.\n\"

Delete the first file from the zip archive testfile.zip:

ziptool testfile.zip delete 0

SEE ALSO


zipcmp(1), zipmerge(1), libzip(3)

HISTORY


ziptool was added in libzip 1.1.

AUTHORS


Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>

illumos January 23, 2023 illumos

tribblix@gmail.com :: GitHub :: Privacy