ziptool1
Modify zip archives
Usage
ziptool [-ceghnrst]
[-l
length]
[-o
offset]
zip-archive
command
[command-args ...]
[command
[command-args ...] ...]
Overview
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
statcommand). -
-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
statcommand). -
-s -
Follow file name convention strictly (for
statcommand). -
-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:
addname content-
Add file called name using the string content from the command line as data.
add_dirname-
Add directory name.
add_filename 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_zipname 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.
catindex-
Output file contents for entry index to stdout.
count_extraindex flags-
Print the number of extra fields for archive entry index using flags.
count_extra_by_idindex extra_id flags-
Print number of extra fields of type extra_id for archive entry index using flags.
deleteindex-
Remove entry at index from zip archive.
delete_extraindex extra_idx flags-
Remove extra field number extra_idx from archive entry index using flags.
delete_extra_by_idindex 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_flagflag-
Print state of archive flag flag.
get_extraindex extra_index flags-
Print extra field extra_index for archive entry index using flags.
get_extra_by_idindex extra_id extra_index flags-
Print extra field extra_index of type extra_id for archive entry index using flags.
get_file_commentindex-
Get file comment for archive entry index.
get_num_entriesflags-
Print number of entries in archive using flags.
name_locatename flags-
Find entry in archive with the filename name using flags and print its index.
renameindex name-
Rename archive entry index to name.
replace_file_contentsindex data-
Replace file contents for archive entry index with the string data.
set_archive_commentcomment-
Set archive comment to comment.
get_archive_flagflag value-
Set archive flag flag to value.
set_extraindex 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_commentindex comment-
Set file comment for archive entry index to string comment.
set_file_compressionindex method compression_flags-
Set file compression method for archive entry index to method using compression_flags. Note: Currently, compression_flags are ignored.
set_file_encryptionindex method password-
Set file encryption method for archive entry index to method with password password.
set_file_mtimeindex timestamp-
Set file modification time for archive entry index to UNIX mtime timestamp.
set_file_mtime_alltimestamp-
Set file modification time for all archive entries to UNIX mtime timestamp.
set_passwordpassword-
Set default password for encryption/decryption to password.
statindex-
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:
-
create-or-keep-empty-file-for-archive
-
is-torrentzip
-
rdonly
-
want-torrentzip
Compression Methods
Some commands take compression method arguments. Supported methods are:
-
default
-
deflate
-
store
Encryption Methods
Some commands take encryption method arguments. Supported methods are:
-
none
-
AES-128
-
AES-192
-
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
Releases
6 releases since Debian 9 (Stretch); the text changed 2 times.
-l since Debian 10 (Buster);
-o since Debian 10 (Buster).
-H until Debian 9 (Stretch);
-m until Debian 9 (Stretch).