ark/README.md
2024-02-20 07:37:35 -08:00

1.6 KiB

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