ark
- Archiving and compression toolkit with a simple, obvious interface
ark
is a tool for creating and extracting archives, and (eventually) for compressing and decompressing files. It aims to support the most common operations on a broad variety of formats: tar
, zip
, 7z
, ar
, etc.
Features
- Intuitive, subcommand-based interface
- Automatically infers archive format and compression algorithm from filenames
- Cross-platform, supporting Windows/Mac/Linux (only tested on Linux so far)
- Optionally respects
.gitignore
files (not yet implemented) - Optionally deduplicates top-level directory when extracting, in the event that the archive is being extracted into a directory with the same name as the top-level directory inside the archive. (not yet implemented)
- Tree view when listing contents of an archive (not yet implemented)
Examples
# Create an archive
ark pack somedir archive.tar.gz
# Like mv or cp, the last argument is interpreted as the destination
ark pack file1 file2 anotherdir archive.zip
# You can explicitly specify the format/compression, in case you need to do something weird
ark pack --format zip --compression deflate files/* archive.vl2
# Unpack an archive into the current directory
ark unpack archive.tar.gz
# Automatically creates destination directory if not extant
ark unpack archive.tar.gz somedir
# Deduplicate top-level directory (i.e. if "targetdir" is the root of all paths in the archive,
# this will prevent the output tree from starting with targetdir/targetdir)
ark unpack archive.tar.xz --deduplicate targetdir
Description
Languages
Rust
100%