Unix: Сжатие и распаковка архивов tar, gz и bz2

Команды ниже предполагают, что есть некоторые файлы 1.txt, 2.txt  и 3.txt которые лежат в каталоге ~/files, где ~ означает каталог вашей директории.

Cжатие и распаковка файлов

О форматах архивов

Формат файлов .tar это некий контейнер, который включает определенный набор файлов. Когда вы создаете архив в формате .tar, здесь не происходит сжатия!

А вот форматы файлов .tar.gz и .tar.bz2 являются по сути сжатым файлом .tar. Таким образом, если нужно получить архив со сжатием, то архиватор выполняет два действия, — сначала упаковывает файлы в контейнер .tar, а затем сжимает их в .gz или .bz2.

Общий синтаксис:

# синтаксис создания архива
tar [-параметр] [название архива] [перечень файлов/папок для архивации]

# синтаксис распаковки архива
tar [-параметр] [название архива] [-параметр] [путь к папке]

Параметры

# ПАРАМЕТРЫ УПАКОВКИ И СЖАТИЯ

# параметры упаковки в tar без сжатия (.tar)
-cf

# параметры создания архива Gzip (.tar.gz)
-cfz

# параметры создания архива Bzip2 (.tar.bz2)
-cfj


# ПАРАМЕТРЫ РАСПАКОВКИ

# параметры распаковки tar
-xf

# параметры распаковки архива Gzip (.tar.gz)
-xfz

# параметры распаковки архива Bzip2 (.tar.bz2)
-xfj


# ПАРАМЕТРЫ ПРОСМОТРА

# параметр просмотра содержимого архива
-tf


# ДРУГИЕ ПАРАМЕТРЫ

# параметр, который выводит результаты создания/распаковки архива (можно указывать вместе с параметрами создания/распаковки)
-v

Пример упаковки файлов

# когда вы находитесь в каталоге с файлами и ВСЕ их нужно упаковать
tar -cf name.tar *
tar -cfz name.tar.gz *
tar -cfj name.tar.bz2 *

# когда вы находитесь в каталоге с файлами, но вам нужно упаковать только файлы 1.txt, 2.txt и 3.txt
tar -cf name.tar 1.txt 2.txt 3.txt
tar -cfz name.tar.gz 1.txt 2.txt 3.txt
tar -cfj name.tar.bz2 1.txt 2.txt 3.txt

# когда вы находитесь в домашнем каталоге ~/ и вам нужно упаковать в ней директорию files
tar -cf name.tar files
tar -cfz name.tar.gz files
tar -cfj name.tar.bz2 files

# когда вы находитесь в любом каталоге, то можно указать абсолютный путь к директории для упаковки
tar -cf name.tar ~/files
tar -cfz name.tar.gz ~/files
tar -cfj name.tar.bz2 ~/files

Пример распаковки файлов из tar

# распаковка файлов из архива в директорию /tmp/dir
tar -xf name.tar -C /tmp/dir
tar -xfz name.tar.gz -C /tmp/dir
tar -xfj name.tar.bz2 -C /tmp/dir
Рейтинг
( 10 оценок, среднее 3.2 из 5 )
Понравилась статья? Поделиться с друзьями: