archiver

package module
v2.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2016 License: MIT Imports: 14 Imported by: 1

README

archiver archiver GoDoc Linux Build Status Windows Build Status

Package archiver makes it trivially easy to make and extract common archive formats such as .zip, and .tar.gz. Simply name the input and output file(s).

Files are put into the root of the archive; directories are recursively added, preserving structure.

The archiver command runs the same cross-platform and has no external dependencies (not even libc); powered by the Go standard library, dsnet/compress, nwaples/rardecode, and ulikunitz/xz. Enjoy!

Supported formats/extensions:

  • .zip
  • .tar
  • .tar.gz & .tgz
  • .tar.bz2 & .tbz2
  • .tar.xz & .txz
  • .rar (open only)

Install

go get github.com/mholt/archiver/cmd/archiver

Or download binaries from the releases page.

Command Use

Make a new archive:

$ archiver make [archive name] [input files...]

(At least one input file is required.)

To extract an archive:

$ archiver open [archive name] [destination]

(The destination path is optional; default is current directory.)

The archive name must end with a supported file extension—this is how it knows what kind of archive to make. Run archiver -h for more help.

Library Use

import "github.com/mholt/archiver"

Create a .zip file:

err := archiver.Zip.Make("output.zip", []string{"file.txt", "folder"})

Extract a .zip file:

err := archiver.Zip.Open("input.zip", "output_folder")

Working with other file formats is exactly the same, but with their own Archiver implementations.

FAQ

Can I list a file in one folder to go into a different folder in the archive?

No. This works just like your OS would make an archive in the file explorer: organize your input files to mirror the structure you want in the archive.

Can it add files to an existing archive?

Nope. This is a simple tool; it just makes new archives or extracts existing ones.

Documentation

Overview

Package archiver makes it super easy to create and open .zip, .tar.gz, and .tar.bz2 files.

Index

Constants

This section is empty.

Variables

View Source
var Rar rarFormat

Rar is for RAR archive format

View Source
var SupportedFormats = map[string]Archiver{}

SupportedFormats contains all supported archive formats

View Source
var Tar tarFormat

Tar is for Tar format

View Source
var TarBz2 tarBz2Format

TarBz2 is for TarBz2 format

View Source
var TarGz tarGzFormat

TarGz is for TarGz format

View Source
var TarXZ xzFormat

TarXZ is for TarXZ format

View Source
var Zip zipFormat

Zip is for Zip format

Functions

func RegisterFormat

func RegisterFormat(name string, format Archiver)

RegisterFormat adds a supported archive format

Types

type Archiver

type Archiver interface {
	// Match checks supported files
	Match(filename string) bool
	// Make makes an archive.
	Make(destination string, sources []string) error
	// Open extracts an archive.
	Open(source, destination string) error
}

Archiver represent a archive format

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL