# tar

Створити архів з вмісту каталогу / розархівувати tgz-архів:

```
tar -czf content.tgz ./content_dir
tar -xzf content.tgz
```

Щоб передати **список файлів для архівування** через файл, ви можете скористатися опцією `-T` та вказати ім'я файлу, в якому перераховані шляхи до файлів, які потрібно архівувати.

Ось приклад:

1. Створіть текстовий файл (наприклад, `filelist.txt`) і додайте в нього шляхи до файлів, які ви хочете включити в архів. Наприклад:

   ```
   /шлях/до/файлу1
   /шлях/до/файлу2
   /шлях/до/файлу3
   ```
2. Використайте команду `tar` з опцією `-T` для зчитування списку файлів з файлу та створення архіву. Наприклад:

   ```bash
   tar -czvf arch.tgz -T filelist.txt
   ```

   У цьому прикладі:

   * `-c`: створити новий архів,
   * `-z`: використати gzip для стиснення,
   * `-v`: вивести подробиці про виконання,
   * `-f arch.tgz`: вказати ім'я архіву,
   * `-T filelist.txt`: вказати файл, в якому перераховані файли для архівування.

Таким чином, всі файли, вказані в `filelist.txt`, будуть включені в архів `архів.tar.gz`.

Linux **tar** — это архив, который используется большим количеством системных администраторов **Linux**/**Unix** при работе с накопителями для резервного копирования. **Команды tar** [используются](https://blog.sedicomm.com/2019/10/28/kak-izvlech-tar-fajly-v-katalog-v-linux/)  для копирования файлов и каталогов в файл сжатого архива, обычно называемый **tarball** или **tar**, **gzip** и **bzip**. **Tar** является наиболее широко используемой командой для создания сжатых архивных файлов. Этот архив можно легко перемещаться с одного диска на другой диск или машину.

В этой статье мы рассмотрим и обсудим различные примеры команд **tar**, включая создание архивных файлов с использованием (**tar, tar.gz и tar.bz2**) сжатия, извлечение архивного файла, просмотр содержимого файла , проверки файла, добавления файла или каталога в архив, оценка размера файла/архива **tar** и т. д.

Основная цель этого руководства — предоставить различные примеры **tar**, которые могут быть полезны для вас, чтобы вы могли понять и стать экспертом в работе с архивами **tar**.

&#x20;

**1. Создание файла архива tar**

В приведенном ниже примере команда создаст файл **sedicomm-15-12-20.tar** с каталога **/home/sedicomm** в текущем рабочем каталоге.

```
1# tar cvf sedicomm-15-12-20.tar /home/sedicomm/2/home/sedicomm/3/home/sedicomm/44/home/sedicomm/35/home/sedicomm/26/home/sedicomm/1
```

&#x20;

Давайте обсудим каждый флаг (опцию), который мы использовали в приведенной выше команде для создания файла архива **tar**.

* **c** — Создает новый **.tar** файл архива.
* **v** — показать прогресс создания файла **.tar**.
* **f** — тип имени файла архива.

**2. Создание файла архива tar.gz**

Чтобы создать сжатый файл архива **gzip**, мы используем параметр **z**. Например, приведенная ниже команда создаст сжатый файл **Documents-15-12-20.tar.gz** для каталога **/home/yurii/Documents**.

**Примечание**: расширения **tar.gz** и **tgz** еквивалентны.

```
1# tar cvzf Documents-15-12-20.tar.gz /home/yurii/Documents2ИЛИ3# tar cvzf Documents-15-12-20.tgz /home/yurii/Documents
```

&#x20;[\
![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_190143.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_190143.png)

&#x20;

**3. Создание файла архива tar.bz2**

Функция **bz2** сжимает и создает файл архива меньшего размера, чем **gzip**. Сжатие **bz2** требует больше времени для сжатия и распаковки файлов по сравнению с **gzip**. Чтобы создать сжатый файл **tar**, мы используем параметр –**j**. Следующая команда примера создаст файл **Documents.tar.bz2** для каталога **/home/yurii/Documents**.

**Примечание: tar.bz2** и **tbz** аналогичны **tb2**.

```
1# tar cvfj Documents.tar.bz2 /home/yurii/Documents2ИЛИ3# tar cvfj Documents.tar.tbz /home/yurii/Documents4ИЛИ5# tar cvfj Documents.tar.tb2 /home/yurii/Documents
```

&#x20;

**4. Разархивирование архива tar**

Чтобы распаковать или извлечь файл **tar**, просто выполните следующую команду, используя опцию **x** (extract). Например, приведенная ниже команда распакует файл **public\_html-15-12-20.tar** в текущий рабочий каталог. Если вы хотите разархивировать файлы в другой каталог, используйте опцию –**C** (specified directory).

```
1tar xvf Documents.tar2ИЛИ3tar xvf Documents.tar -C /home/yurii/Documents/UnArch
```

&#x20;

**5. Разархивирование tar.bz2**

Чтобы распаковать **tar.bz2** архив, просто запустите следующую команду. Если же вы хотите разархивировать в другой каталог, используйте опцию **-C** и путь к каталогу, как показано в приведенном выше примере (папка должна уже существовать).

```
1tar xvf Documents.tar.bz22ИЛИ3tar xvf Documents.tar.bz2 -C /home/yurii/Documents/UnArch
```

&#x20;

[![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_191441.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_191441.png)

**6. Разархивирование архива tar.gz**

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

```
1tar xvf Documents.tar.bz2
```

&#x20;

[![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_191441.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_191441.png)

&#x20;

**7. Просмотр содержимого файла архива tar**

Чтобы просмотреть содержимое файла **tar**, просто запустите его с опцией **t** (просмотр содержимого). В приведенной ниже команде будет отображаться содержимое файла **Documents.tar.bz2**.

```
1# tar tvf Documents.tar.bz2
```

&#x20;

[![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_192025.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_192025.png)

&#x20;

**8. Просмотр содержимого tar.gz**

Используйте ту же команду для отображения содержимого файла **tar.gz**.

&#x20;

[![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_192025.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_192025.png)

&#x20;

**9. Просмотр содержимого tar.bz2**

Используйте ту же команду для отображения содержимого файла **tar.bz2**.

&#x20;

[![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_192025.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_192025.png)

&#x20;

**10. Разархивирование отдельного файла из tar**

К примеру, чтобы извлечь один файл с именем **File1** из **Documents.tar**, используйте следующую команду.

```
1# tar xvf Documents.tar home/yurii/Documents/Folder1/File12ИЛИ3# tar --extract --file=Documents.tar home/yurii/Documents/Folder1/File1
```

&#x20;

**11. Разархивирование отдельного из файла tar.gz**

Чтобы извлечь один файл с именем **File1** из **Documents.tar.gz**, используйте следующую команду.

```
1# ztar xvf Documents.tar.gz home/yurii/Documents/Folder1/File1
```

&#x20;

**12. Разархивирование отдельного файл из файла tar.bz2**

Чтобы извлечь один файл с именем **File1** из **Documents.tar.bz2**, используйте следующую команду.

```
1# jtar zxvf Documents.tar.bz2 home/yurii/Documents/Folder1/File1
```

&#x20;

**13. Разархивирование нескольких файлов из tar, tar.gz и tar.bz2**

Чтобы извлечь несколько файлов из архива **tar**, **tar.gz** и **tar.bz2** необходимо использовать приведенную ниже команду. Эта команда извлекает из архива **“file 1”** и **“file 2”**.

```
1# tar xvf sedicomm.tar "file 1" "file 2"2# tar zxvf sedicomm.tar.gz "file 1" "file 2"3# tar jxvf sedicomm.tar.bz2 "file 1" "file 2"
```

&#x20;

**14. Извлечение группы файлов с помощью метасимволов**

Чтобы извлечь группу файлов, мы используем метасимволы. Например, чтобы извлечь группу файлов с расширением **.txt** из архива **tar**, **tar.gz** и **tar.bz2** необходимо использовать следующую команду:

```
1# tar xvf sedicomm.tar --wildcards '*.txt'2# tar zxvf sedicomm.tar.gz --wildcards '*.txt'3# tar jxvf sedicomm.tar.bz2 --wildcards '*.txt'
```

&#x20;

**15. Добавление файла или директории в файл архива tar**

Чтобы добавить файлы или каталоги в существующий файл архива **tar**, мы используем параметр **r** (присоединить). Например, мы добавляем файл **File.txt** и каталог **Folder** в существующий архив **sedicomm.tar**.

```
1# tar rvf sedicomm.tar File.txt2# tar rvf sedicomm.tar Folder
```

&#x20;

**16. Добавление файлов или каталогов в tar.gz и tar.bz2.**

У **tar** нет возможности добавлять файлы или каталоги в существующий сжатый файл **tar.gz** и **tar.bz2**. Если мы попытаемся, то получим следующую ошибку:

```
1tar: This does not look like a tar archive2tar: Skipping to next header3tar: Error exit delayed from previous errors
```

&#x20;

**17. Проверка размера tar, tar.gz и tar.bz2.**

Чтобы проверить размер архива **tar**, **tar.gz** и **tar.bz2**, используйте следующую команду. Например, приведенная ниже команда отобразит размер архивного файла в Килобайтах.

```
1# tar czf - Documents.tar | wc -c2355
```

&#x20;

[![tar](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_194154.png)](https://blog.sedicomm.com/wp-content/uploads/2018/10/image_2020-12-15_194154.png)

&#x20;

**Использование опций:**

* **-c** — создать файл архива.
* **-x** — извлечение архивного файла.
* **-v** — показывает ход создания архивного файла.
* **-f** — имя архивного файла.
* **-t** — просмотр содержимого архивного файла.
* **-j** — сжимать архив через **bzip2**.
* **-z** — сжимать архив через **gzip**.
* **-r** — добавлять или обновлять файлы или каталоги в существующий файл архива.
* **-W** — проверка архивного файла.
* **-wildcards** — задание шаблона команде unix **tar**.

&#x20;

**18. Помощь**

Вот и все, надеюсь, что приведенные выше примеры команд **tar** будут полезны для вас, для получения дополнительной информации используйте **tar –help**.

&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://olexsyn.gitbook.io/enote/linux/commands/tar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
