Команды Linux · 3 min read · Jan 09, 2026

Учебник по команде xz в Linux для начинающих (7 примеров)

Существует несколько способов сжатия и распаковки файлов в Linux. Хотя мы уже обсудили некоторые (здесь и здесь), есть много других, которые мы еще не рассмотрели. Поэтому в этом учебнике мы обсудим еще одну утилиту командной строки.

Она называется xz. Мы обсудим основы этого инструмента командной строки. Но прежде чем мы перейдем к этому, стоит упомянуть, что все примеры здесь были протестированы на машине с Ubuntu 18.04 LTS.

Команда xz в Linux

Как уже упоминалось в начале, команда xz в Linux позволяет сжимать и распаковывать файлы. Вот ее синтаксис:

xz [option...]  [file...]

А вот что говорит страница man об этом:

     xz is a general-purpose data compression tool with command line syntax similar to gzip(1)   
     and bzip2(1).  The native file format is the .xz format, but the legacy .lzma format used   
     by LZMA Utils and raw compressed streams with no container format headers are also supported.  
  
     xz compresses or decompresses each file according to the selected operation mode.  If no files  
     are given or file  is  -,  xz  reads from standard input and writes the processed data to   
     standard output.  xz will refuse (display an error and skip the file) to write compressed data  
     to standard output if it is a terminal.  Similarly, xz will refuse to read compressed data   
     from standard  input if it is a terminal.

Следующие примеры в формате вопросов и ответов должны дать вам лучшее представление о том, как работает xz.

Вопрос 1. Как использовать команду xz?

Основное использование довольно простое. Просто передайте имя файла (который нужно сжать) в качестве входного аргумента для xz. Вот пример:

xz file.txt

На моей системе указанная команда создала следующий файл в качестве вывода.

file.txt.xz

Таким образом, вы можете видеть, что команда xz сжала file.txt. Стоит упомянуть, что операция заменяет оригинальный файл (в данном случае file.txt) на сжатую версию.

Вопрос 2. Как сделать так, чтобы xz сохранял оригинальный файл?

Как я упоминал в предыдущем разделе, команда xz заменяет оригинальный файл его сжатой версией. Однако, если вы хотите, вы можете заставить xz сохранить оригинальный файл. Это можно сделать с помощью опции командной строки -k.

Например:

xz -k file.txt

Таким образом, на этот раз вы найдете как file.txt, так и file.txt.xz в текущем рабочем каталоге.

Вопрос 3. Как сжать несколько файлов?

Это очень просто. Просто передайте имена в качестве входных аргументов для xz.

Например:

xz file1.txt file2.txt

Эта команда сожмет оба этих файла за один раз.

Вопрос 4. Как распаковать .xz файлы?

Чтобы распаковать .xz файлы, используйте опцию командной строки -d. Например:

xz -d file.txt.xz

Эта команда создаст file.txt в текущем рабочем каталоге.

Вопрос 5. Как заставить xz выводить информацию о сжатых файлах?

Это можно сделать с помощью опции командной строки -l. Например:

xz -l file.txt.xz

Эта команда выдала следующую информацию в моем случае:

Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename  
    1       1         96 B         37 B  2.595  CRC64   file.txt.xz

Вопрос 6. Как указать другой формат сжатия/распаковки?

Это можно сделать с помощью опции командной строки -F. Однако, чтобы использовать эту опцию, вам нужно понимать следующее:

-F format, --format=format  
       Specify the file format to compress or decompress:  
  
       auto   This is the default.  When compressing, auto is equivalent to xz.  When decompressing, the format of the  input  file  
              is automatically detected.  Note that raw streams (created with --format=raw) cannot be auto-detected.  
  
       xz     Compress to the .xz file format, or accept only .xz files when decompressing.  
  
       lzma, alone  
              Compress  to the legacy .lzma file format, or accept only .lzma files when decompressing.  The alternative name alone  
              is provided for backwards compatibility with LZMA Utils.  
  
       raw    Compress or uncompress a raw stream (no headers).  This is meant for advanced users only.  To decode raw streams, you  
              need use --format=raw and explicitly specify the filter chain, which normally would have been stored in the container  
              headers.

Таким образом, вы видите, что вы можете использовать любой из следующих форматов: ‘auto’, ‘xz’, ‘lzma’ и ‘raw’.

Вопрос 7. Как заставить xz отображать индикатор прогресса?

Это можно сделать с помощью опции командной строки -v. Вот пример:

Заключение

Хотя мы обсудили несколько опций командной строки xz в этом учебнике, есть еще много других. Как только вы закончите изучение и практику этих, перейдите на страницу man инструмента, чтобы узнать больше о нем.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.