ark/README.md

36 lines
1.6 KiB
Markdown
Raw Normal View History

2024-02-20 15:37:35 +00:00
# `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
```sh
# 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
```