36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
|
# `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
|
||
|
```
|