universalarchive plugin
The universalarchive plugin provides a convenient command-line interface for archiving files and directories using a wide variety of compression formats - without having to remember the exact syntax for each tool.
To enable it, add universalarchive to the plugins array in your .zshrc file:
plugins=(... universalarchive)
Features
- Compress files and directories using a simple, unified command: ua
 - Automatically detects file/directory names to generate appropriate output names
 - Supports fallback naming if an output file already exists
 - Works with many common and advanced compression formats
 - Designed for simplicity and quick use in the terminal
 
Usage
Basic command format:
ua <format> <files...>
<format>: the archive format to use (e.g.,zip,tar.gz,xz,7z, etc.)<files...>: one or more files or directories to compress
Examples:
Compresses notes.txt and images into notes.zip
ua zip notes.txt images/
Creates myproject.tar.gz
ua tar.gz myproject/
Compresses all .log files into current_folder.xz
ua xz *.log
The plugin will generate a default archive filename based on the input:
- For a file, the output is derived from the file name without its extension.
 - For a directory, it uses the directory name.
 - For multiple files, it uses the name of the common parent directory.
 
If the output file already exists, a unique filename is generated using mktemp.
Supported Archive Formats
| Format | Description | Tool Used | 
|---|---|---|
7z | 
7zip archive | 7z | 
bz2 | 
Bzip2-compressed file | bzip2 | 
gz | 
Gzip-compressed file | gzip | 
lzma | 
LZMA-compressed file | lzma | 
lzo | 
LZO-compressed file | lzop | 
rar | 
WinRAR archive | rar | 
tar | 
Uncompressed tarball | tar | 
tbz,tar.bz2 | 
Tarball compressed with Bzip2 | tar + bzip2 | 
tgz,tar.gz | 
Tarball compressed with Gzip | tar + gzip | 
tlz,tar.lzma | 
Tarball compressed with LZMA | tar + lzma | 
txz,tar.xz | 
Tarball compressed with LZMA2 | tar + xz | 
tZ,tar.Z | 
Tarball compressed with LZW | tar + compress | 
xz | 
XZ-compressed file | xz | 
Z | 
LZW-compressed file | compress | 
zip | 
Standard Zip archive | zip | 
zst | 
Zstandard-compressed file | zstd | 
Note: Some formats may require specific tools to be installed on your system (e.g.
7z,rar,lzop,zstd). Make sure these tools are available in your$PATH.
Auto-Completion
The plugin provides tab-completion for supported formats and input files. Type ua <TAB> to see available formats, and ua <format> <TAB> to browse files.