xz is a new general-purpose, command line data compression utility, similar to gzip and bzip2. It can be used to compress or decompress a file according to the selected operation mode. It supports various formats to compress or decompress files.

 

Selecting a compression utility to use will depend mainly on two factors, the compression speed and rate of a given tool. Unlike its counterparts, xz is not commonly used but offers the best compression.

 

Learn XZ Command Examples in Linux

 

The simplest example of compressing a file with xz is as follows, using the -z or --compress option.

$ ls -lh ClearOS-DVD-x86_64.iso
$ xz ClearOS-DVD-x86_64.iso
OR
$ xz -z ClearOS-DVD-x86_64.iso

 

To decompress a file, use the -d option or unxz utility as shown.

$ xz -d ClearOS-DVD-x86_64.iso
OR
$ unxz ClearOS-DVD-x86_64.iso

 

To prevent deleting of the input file(s), use the -k flag as follows,

$ xz -k ClearOS-DVD-x86_64.iso

 

If an operation fails, for instance a compressed file with same name exists, you can use the -f option to force the process.

$ xz -kf ClearOS-DVD-x86_64.iso 

 

xz also supports different compression preset levels (0 to 9, with default being 6). You can also use aliases such as --fast (but least compression) for 0 or --best for 9 (slow but highest compression). You can specify a compression level as in the examples below.

$ xz -k -8 ClearOS-DVD-x86_64.iso 
$ xz -k --best ClearOS-DVD-x86_64.iso

 

If you have a small amount of system memory, and want to compress a huge file, you can use the --memory=limit option (where limit can be in MBs or as a percentage of RAM) to set a memory usage limit for compression as follows.

$ xz -k --best --memlimit-compress=10% ClearOS-DVD-x86_64.iso

 

You can run it in quiet mode using the -q option or enable verbose mode with the -v flag as shown.

$ xz -k -q ClearOS-DVD-x86_64.iso
$ xz -k -qv ClearOS-DVD-x86_64.iso

 

The following is an example of using tar archiving utility with xz utility.

$ tar -cf - *.txt | xz -7 > txtfiles.tar.xz
OR
$tar -cJf txtfiles.tar.xz *.txt

 

You can test the integrity of compressed files using the -t option and you can use the -l flag to view information about a compressed file.

$ xz -t txtfiles.tar.xz
$ xz -l txtfiles.tar.xz

 

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Managed dedicated servers

our engineers look after the server for you, from $135 a month.

Was this answer helpful?

Still stuck? Open a ticket