Вступ
Команда tar
(Tape Archive) є одним із найпоширеніших інструментів в Linux для архівації та зберігання файлів. Її часто використовують для створення резервних копій, зберігання структури каталогів і файлів у стисненому вигляді, а також для передачі файлів між системами. Формат .tar
дозволяє об’єднати декілька файлів або директорій в один архівний файл, зберігаючи структуру каталогів і всі метадані, як-от права доступу до файлів.
Основні можливості tar
- Створення архівів — дозволяє об’єднувати файли та каталоги в один файл.
- Розпакування архівів — забезпечує розархівацію для доступу до збережених файлів.
- Стиснення — завдяки підтримці алгоритмів стиснення, таких як gzip і bzip2,
tar
дозволяє значно зменшити розмір архівів. - Копіювання і зберігання даних — корисно для резервного копіювання, оскільки архіви зберігають структуру файлової системи і дозволяють відновлювати її в разі потреби.
Коли може знадобитися tar?
- Резервне копіювання: Архівація файлів перед оновленням системи або перенесенням даних.
- Передача файлів: Зберігання файлів у єдиному стисненому форматі для легшого пересилання.
- Збереження структури файлів:
tar
дозволяє зберегти ієрархію каталогів, що зручно для відновлення даних у випадку аварії. - Розгортання проектів: Розробники часто використовують
tar
для пакування вихідного коду та налаштувань проектів.
Застосування tar
Перед застосуванням команди tar
варто розуміти, що вона допомагає ефективно працювати з великими обсягами файлів і каталогів, об’єднуючи їх в один архівний файл, який можна легко зберігати, передавати або розпаковувати. Використання різних параметрів дозволяє створювати архіви, стискати їх, зберігаючи структуру директорій, а також розпаковувати чи переглядати вміст архівів. Нижче наведені приклади, які ілюструють, як можна використовувати tar
для створення та розпаковування архівів у різних сценаріях.
Основні приклади використання tar
Основний формат команди tar
виглядає так:
tar [опції] [архів] [файли або каталоги]
Популярні опції tar
-c
— створює новий архів-x
— розпаковує архів-v
— відображає деталі процесу (Verbose)-f
— визначає ім’я архіву-z
— використовує стиснення gzip-j
— використовує стиснення bzip2-C
— змінює директорію для розпакування або створення архіву
Створення архіву
Створення архіву backup.tar
з каталогу my_folder
:
tar -cvf backup.tar my_folder
Ця команда створить файл backup.tar
, який містить усі файли та підкаталоги з my_folder
.
Створення стисненого архіву (gzip)
Щоб створити стиснений архів backup.tar.gz
, який займатиме менше місця:
tar -cvzf backup.tar.gz my_folder
Параметр -z
вмикає стиснення за допомогою gzip
.
Створення стисненого архіву (bzip2)
Альтернативне стиснення з bzip2
(створює архів .tar.bz2
):
tar -cvjf backup.tar.bz2 my_folder
-j
активує bzip2
, який зазвичай стискає файли краще, ніж gzip
, але потребує більше часу.
Розпакування архіву
Розпакування архіву backup.tar
:
tar -xvf backup.tar
Ця команда розпакує файли в поточну директорію.
Розпакування стисненого архіву
Для розпакування backup.tar.gz
:
tar -xvzf backup.tar.gz
Розпакування архіву в конкретну директорію
Щоб розпакувати архів backup.tar
у вказану директорію /path/to/folder
:
tar -xvf backup.tar -C /path/to/folder
Перевірка вмісту архіву без розпакування
Щоб переглянути вміст архіву backup.tar
:
tar -tvf backup.tar
Щоб переглянути вміст архіву який має тип tar.gz:
tar -ztvf backup.tar.gz
Щоб переглянути вміст архіву який має тип tar.bz2 :
tar -jtvf backup.tar.bz2
Ви також можете шукати файли за допомогою будь-якої з наведених вище команд. наприклад:
tar -ztvf backup.tar.gz 'filename.txt'
Але tar не підтримує пошук за шаблоном (наприклад, *filename.txt) у такому вигляді. Щоб знайти файл за частковим збігом в ієрархії архіву, можна виконати команду tar -ztvf і передати її результат через grep. Ось як це можна зробити:
tar -ztvf backup.tar.gz | grep 'filename.txt'
Висновок
tar — потужний та гнучкий інструмент для архівації файлів у Linux. Завдяки підтримці різних алгоритмів стиснення, tar надає можливість ефективно керувати обсягом архівів та зберігати структуру директорій. Знання основних команд tar і вміння застосовувати їх у різних сценаріях, як-от резервне копіювання або передача файлів, стане в нагоді кожному користувачу Linux.