Вступ
Команда 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.