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.