Рубрики
Uncategorized

Сжатие и архив в Linux

Архивирование файлов используется, когда один или несколько файлов должны быть переданы или сохранены таким образом как возможности … Помечено Linux, Computerscience, Devops.

Архивирование файлов используется, когда один или несколько файлов должны быть переданы или сохранены как можно эффективно. Linux поддерживает множество файловых архивных механизмов. Эта статья описывает самые популярные.

Прежде чем смотреть в те, вот быстрое определение сжатия и архивного

Сжатие: Делает файлы меньше, удаляя избыточную информацию.

Архив: Сочетает в себе несколько файлов в одну, что исключает накладные расходы в отдельные файлы и облегчает передачу файлов.

Просто сжатие уменьшает размер и архивные комбайны.

Алгоритмы сжатия:

  • гzip.
  • BZIP2.
  • XZ.

ГЦИП:

GZIP (GNU ZIP) — это алгоритм сжатия. Используется Сеть Лемпель-Зив-Марков (LZMA) алгоритм. Это довольно быстро, но размер файла может быть больше.

gzip {filename}

Исходный файл удаляется и заменен сжатым файлом.

Декомпрессия из GZuпленных файлов:

Декомпрессия сделана с использованием Gunzip команда.

gunzip {gzipped filename}
  • В том числе -l Флаг покажет информацию о сжатии без фактически сжимания/декомпрессии.

BZIP2:

BZIP2 использует другой алгоритм сжатия, называемый Burrows-Wheeler Block Сортировка , который может сжать файлы меньше, чем GZIP за счет больше времени процессора.

bzip2 {filename}

Декомпрессия файлов BZIP2’ED:

Декомпрессия сделана с использованием Bunzip2 команда.

bunzip2 {bunzip2'ed filename}

XZ:

XZ также использует алгоритм LZMA. Он имеет преимущества как GZIP, так и BZIP2. Он быстро сжимается, а также приводит к меньшим размерам файлов.

xz {filename}

Декомация файлов XZED:

Декомпрессия сделана с использованием Unxz команда.

unxz {xzed filename}

Архив:

  • смолы
  • zip.

смола:

Смола — короткая форма Архив ленты. Команда TAUR принимает несколько файлов и создает один выходной файл, который можно снова разделить в исходные файлы. Архивный файл TAR часто называют тарболом.

tar -f {filename} {options} {files to archive}

Команда TAR имеет три режима (передайте соответствующий флаг, чтобы упомянуть режим):

  • Создать: Сделайте новый архив из серии файлов. (-c)
  • Экстракт: извлечь файлы из архива. (-x)
  • Список: показать содержимое без извлечения. (-t)

TAR также может сжать результирующий архив, используя вышеуказанные алгоритмы сжатия.

Предоставьте любой из следующих флагов, чтобы упомянуть алгоритм сжатия.

  • GZIP (-Z)
  • BZIP2 (-J)
  • XZ (-J)

Флаг может быть предоставлен для многословного результата.

Пример:

tar -cvJf backup.tar.xz projects/

Это создает тарбол Проекты Папка, которая сжимается с использованием XZ с именем файла backup.tar.xz

Расширение может быть чем угодно Но обычно предпочитают назвать так.

  • для gzip, это .tar.gz. или .tgz. , .taz.

  • Для BZIP2 это tar.bz2 или .tb2. , .tbz. , .tbz2 , .tz2.

  • для XZ, это Tar.xz.

Листинг:

Вы можете перечислить содержимое внутри архива без фактического извлечения с помощью -t флаг.

Пример:

tar -tvf backup.tar.xz

Эта команда перечисляет содержимое Backup.tar.xz.

Неархиваль:

Unarchival делается путем прохождения -x флаг.

Пример:

tar -xvJf backup.tar.xz

Эта команда извлекает файл в той же папке. Если вы хотите изменить его, пройдите -C флаг. (который будет изменять каталог к указанному, поэтому каталог должен присутствовать.)

tar -C backups -xvJf backup.tar.xz

Это извлечет в папке резервных копий.

Для того, чтобы извлечь определенный файл/папку из архива, укажите относительный путь файла/папки.

tar -xvJf backup.tar.xz projects/project1

Это извлечет только проект/Project1 из архива.

Важно отметить что -f Флаг должен всегда предшествовать имени файла

Zip:

Zip — это механизм архивального и сжатия. Это делает оба. Сжатие без потерь. Алгоритм сжатия по умолчанию — Выпускать . Это чаще распространено, чем талборы. Он построил в поддержку в Windows и Mac. Следовательно, это более предпочтительно для архивального, чем смола.

zip {options} {output filename} {files to compress}

По умолчанию ZIP не будет сжиматься рекурсивно. Поэтому для того, чтобы сжать файлы/подпапки внутри папки, используйте -R флаг.

Пример:

zip files.zip temp*

Это будет сжать все файлы, начиная с Temp Отказ

zip -r projects.zip projects

Это рекурсивно сжимает все файлы в папке проектов.

Unzip:

unzip Команда используется для извлечения содержимого архива на молнии.

Пример:

unzip projects.zip

Чтобы просто список без извлечения,

unzip -l projects.zip

Чтобы извлечь конкретные файлы/папки внутри ZIP,

unzip projects.zip projects/project1

Это похоже на смолу.

Спасибо за прочтение:)

Оригинал: «https://dev.to/laxmanvijay/compression-and-archival-in-linux-53jl»