Crmgo Блог

tar на прикладах

tar на прикладах

Створення архіву за допомогою команди tar Без використання стиснення: tar cvf files.tar dir/ Для використання стиснення gzip додамо ключ z, а для використання стиснення bzip скористаємося ключем j. tar cvzf files.tar.gz dir/ gzip і bzip2: bzip2 працює повільніше, ніж gzip,…

tar на прикладах
    1. Створення архіву за допомогою команди tar

Без використання стиснення:
tar cvf files.tar dir/
Для використання стиснення gzip додамо ключ z, а для використання стиснення bzip скористаємося ключем j.
tar cvzf files.tar.gz dir/

gzip і bzip2: bzip2 працює повільніше, ніж gzip, однак і розмір архівів при використанні bzip2 менший.

* c – створюємо новий архів
* v – виводити лістинг оброблених файлів.
* f – вказуємо, що як контейнер архіву буде файл з наведеним нижче іменем.
* z – стискаємо архів за допомогою gzip.
* j – стискаємо архів за допомогою bzip2.
* x – витягує файли з архіву.

    1. Витяг файлів за допомогою tar

Витягнемо дані з файлу *.tar, використовуючи опції xvf:
tar xvf files.tar

Для витягу файлів з архівів, створених за допомогою gzip або bzip, скористаємося ключами z або j відповідно.

    1. Лістинг вмісту в архіві

Архів без компресії:
tar tvf files.tar
Для перегляду лістингу архіву з компресією gzip або bzip необхідно додати ключі z або j відповідно.

    1. Витягнемо певний файл з архіву tar

Архів без компресії:
tar -xvf files.tar /location/of/the/file
Аналогічно для використання компресії все з тими ж ключами z або j.

    1. Витягнемо певну директорію з архіву

Для того, щоб витягти певну директорію (а також вкладені субдиректорії та файли) з tar-архіву, при використанні команди tar необхідно вказати ім'я папки, яку витягуємо.
tar -xvf container.tar /where/the/file/is
Витягнемо кілька папок з архіву tar:
tar -xvf files.tar /location/of/the/dir/ /location/of/the/dir2/
Як завжди використовуємо ключі z і j для роботи з архівами з компресією:

    1. Регулярні вирази при роботі з tar

Наступна команда витягне з архіву всі файли з розширенням doc
tar -xvf files.tar --wildcards '*.doc'
де * –wildcards *.doc– маска для відбору файлів з розширенням doc.

    1. Додамо файл або папку до вже існуючого архіву за допомогою ключа -r

Додамо певний файл або папку до вже існуючого архіву:
tar rvf files.tar some_our_file
Файл some_our_file буде додано до архіву з назвою files.tar. Додавання директорії здійснюється схожим чином:
tar rvf files.tar some_our_dir/
У Вас не вийде додати файл або папку до архіву, створеного із застосуванням компресії.

    1. Перевіримо дані в архівному файлі за допомогою ключа -W

Після створення архіву не зайвим буде перевірити його, використовуючи ключ W:
tar cvfW files.tar dir/
Щоправда, як і в попередньому випадку, верифікація не вдасться, якщо перед Вами архів, створений з використанням компресії.

Часом з tar-архівів (.tar, .tar.gz, .tar.bz2) дуже великих обсягів потрібно витягти далеко не весь вміст, а лише кілька певних файлів. У таких випадках розархівувати вихідний tar повністю недоцільно, оскільки не тільки потребує помітних ресурсів (в першу чергу, це навантаження на диск), але й може зайняти тривалий час.

Зрозуміло, автори tar передбачили можливість витягу з архіву лише вказаних об'єктів. Все досить тривіально — достатньо перелічити потрібні файли як аргументи tar після самого імені архіву. Наприклад:

tar -xf archive.tar myfile1 dir2/myfile2

Ця команда витягне з архіву archive.tar файли myfile1 і dir2/myfile2. У випадку зі стисненим архівом усе робиться аналогічним чином — додаються відповідні ключі: «z» для .gz (gzip) і «j» для .bz2 (bzip2).

Єдиною складністю може стати зазначення точної назви файлу/повного шляху до нього в архіві. Цю проблему можна вирішити за допомогою функції перегляду дерева файлів/каталогів, що зберігаються в архіві. Наприклад, так:

tar -tf archive.tar

Примітка: матеріал міг бути створений за підтримки ШІ з подальшою людською редакцією. Відповідальний за зміст: Dmytro Lomaka, Kaltenkirchen.

Рубрики: tar