7-Zip is fully featured cross cross platform file archiver software. While windows is having nice and elegant UI, Linux/POSIX systems have fully features command line tool 7z
7z supports many compression algorithms and formats such as GZIP, TAR, ZIP, XZ, BZIP2, WIM and 7z. 7Zip is also capable of extracting other formats such as EXE, AR, RAR
Install 7Zip on Linux
7Zip is ported on to Linux systems and it is called as p7zip. If p7zip is installed, you will get 7z, 7za and 7zr command line utilities
# sudo apt install pzip-full
On REHL or Fedora based distribution, it can be installed using
$ sudo yum install p7ip p7zip-plugins
Install 7Zip on Mac
Command line application p7zip can be install on Mac using Homebrew as follows
$brew update
Install the command line application p7zip
$ brew install p7zip
Usage of 7z command
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>] <Commands> a : Add files to archive b : Benchmark d : Delete files from archive e : Extract files from archive (without using directory names) h : Calculate hash values for files i : Show information about supported formats l : List contents of archive rn : Rename files in archive t : Test integrity of archive u : Update files to archive x : eXtract files with full paths <Switches> -- : Stop switches parsing -ai[r[-|0]]{@listfile|!wildcard} : Include archives -ax[r[-|0]]{@listfile|!wildcard} : eXclude archives -ao{a|s|t|u} : set Overwrite mode -an : disable archive_name field -bb[0-3] : set output log level -bd : disable progress indicator -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line -bt : show execution time statistics -i[r[-|0]]{@listfile|!wildcard} : Include filenames -m{Parameters} : set compression Method -mmt[N] : set number of CPU threads -o{Directory} : set Output directory -p{Password} : set Password -r[-|0] : Recurse subdirectories -sa{a|e|s} : set Archive name mode -scc{UTF-8|WIN|DOS} : set charset for for console input/output -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files -scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands -sdel : delete files after compression -seml[.] : send archive by email -sfx[{name}] : Create SFX archive -si[{name}] : read data from stdin -slp : set Large Pages mode -slt : show technical information for l (List) command -snh : store hard links as links -snl : store symbolic links as links -sni : store NT security information -sns[-] : store NTFS alternate streams -so : write data to stdout -spd : disable wildcard matching for file names -spe : eliminate duplication of root folder for extract command -spf : use fully qualified file paths -ssc[-] : set sensitive case mode -ssw : compress shared files -stl : set archive timestamp from the most recently modified file -stm{HexMask} : set CPU thread affinity mask (hexadecimal number) -stx{Type} : exclude archive type -t{Type} : Set type of archive -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options -v{Size}[b|k|m|g] : Create volumes -w[{path}] : assign Work directory. Empty path means a temporary directory -x[r[-|0]]{@listfile|!wildcard} : eXclude filenames -y : assume Yes on all queries
Create Archive
Use the command “a” to add files to archive. If archive if file name given does not exist new archive will be created otherwise files will be added to existing archive
$ 7z a archive.7z file_to_compress
Create Archive with Password
To create an archive with password, use the switch -p along with command ‘a’ .
$ 7z a -pPASSWD archive.7z folder
Create archive with sub directories
$ 7z a -r archive.7z. folder
.
Extracting from Archive using 7z
Extract files from archive with full path
$ 7z x archive.7z
Specify the location to extract
$ 7z x -opath/to/extract archive.7z
.
Leave a Reply