Man Linux: Main Page and Category List


       lzma, unlzma, lzcat - LZMA compression and decompression tool


       lzma [-123456789cdefhkLqtvV] [-S suffix] [filenames ...]
       unlzma [-cfhkLqtvV] [-S suffix] [filenames ...]
       lzcat [-fhLqV] [filenames ...]


       LZMA  (Lempel-Ziv-Markov  chain-Algorithm)  is  an  improved version of
       famous LZ77 compression algorithm. It was improved in  way  of  maximum
       increasing  of  compression ratio, keeping high decompression speed and
       low memory requirements for decompressing.

       lzma command line tool has a similar interface to gzip(1) and  bzip2(1)
       and  is intended to make use of LZMA compression easy for the users who
       are already familiar with gzip and bzip2.

       In this manual lzma  is  compared  mostly  to  bzip2  because  that  is
       currently  one  of  the  most widely used free software to compress tar
       files made for distribution.  Comparing lzma to gzip is  not  practical
       because  neither  lzma  nor  bzip2 can compete with gzip in compression
       speed. On the other hand the compression ratio of gzip is worse than of
       lzma and bzip2.

       lzma  provides  notably  better compression ratio than bzip2 especially
       with files having other than plain text content. The other advantage of
       lzma  is fast decompression which is many times quicker than bzip2. The
       major disadvantage is that achieving  the  highest  compression  ratios
       requires  extensive  amount of system resources, both CPU time and RAM.
       Also software to handle LZMA  compressed  files  is  not  installed  by
       default on most distributions.

       When compressing or decompressing with lzma, the new file will have the
       same ownership information, permissions and timestamps as the  original
       file.  However  the  this information is not stored into the compressed
       file like gzip does.


       LZMA files can be either streamed or non-streamed.  Non-streamed  files
       are  created  only when the size of the file being compressed is known.
       In practice this means that the source file must be a regular file.  In
       other  words,  if  compressing  from the standard input or from a named
       pipe (fifo) the compressed file will always be streamed.

       Both streamed and non-streamed files are  compressed  identically;  the
       only  differences  are  found  from  the  beginnings  and  ends of LZMA
       compressed files: Non-streamed files contain the uncompressed  size  of
       the file in the LZMA file header; streamed files have uncompressed size
       marked as unknown. To know where to stop decoding, streamed files  have
       a  special  End  Of  Stream marker at the end of the LZMA file. The EOS
       marker makes streamed files five or six bytes bigger than non-streamed.

       So  in  practice creating non-streamed files has two advantages: 1) the
       compressed file is a few bytes smaller and 2) the uncompressed size  of
       the file can be checked without decompressing the file.


       Short options can be grouped like -cd.

       -c --stdout --to-stdout
              The output is written to the standard output. The original files
              are kept unchanged. When  compressing  to  the  standard  output
              there  can  be  only one input file. This option is implied when
              input is read from the standard input or the script  is  invoked
              as lzcat.

       -d --decompress --uncompress
              Force  decompression regardless of the invocation name. This the
              default when called as unlzma or lzcat.

       -f --force
              Force compression or decompression even  if  source  file  is  a
              symlink,  target exists, or target is a terminal. In contrast to
              gzip and bzip2, if input data is not  in  LZMA  format,  --force
              does  not  make  lzma  behave  like  cat.  lzma never prompts if
              target file should be overwritten; existing  files  are  skipped
              or, in case of --force, overwritten.

       -h --help
              Show a summary of supported options and quit.

       -k --keep
              Do   not   delete   the   input   files   after  compression  or

       -L --license
              Show licensing information of lzma.

       -q --quiet
              Suppress all warnings. You can still check the  exit  status  to
              detect if a warning had been shown.

       -S --suffix .suf
              Use  .suf  instead  of  the default .lzma.  A null suffix forces
              unlzma to decompress all  the  given  files  regardless  of  the
              filename suffix.

       -t --test
              Check the integrity of the compressed file(s). Without --verbose
              no output is produced if no errors are found.

       -v --verbose
              Show the filename and percentage  reduction  of  each  processes

       -V --version
              Show the version number of lzma.

       -z --compress
              Force compression regardless of the invocation name.

       -1 .. -9
              Set  the  compression  ratio.  These options have no effect when

       --fast Alias to -1.

       --best Alias to -9.


       Exit status:
       0 - Everything OK.
       1 - An error occurred.
       2 - Something worth a warning happened but no errors.

       It can be  especially  useful  with  tar(1)  patched  to  support  LZMA


       The  LZMA  algorithm  and  the  implementation  used  in LZMA utils was
       developed by Igor Pavlov. The original code is available  in  LZMA  SDK
       which can be found from .

       lzma    command    line   tool   was   written   by   Ville   Koskinen.

       This manual page is inspired by manual pages of gzip and bzip2.


       gzip(1), bzip2(1)