Команда tar є скороченням від архів стрічки в Linux. Ця команда використовується для створення архіву та вилучення файлів архіву. в Linux , це одна з важливих команд, які полегшують функції архівування. Ми можемо використовувати цю команду для створення нестиснутих і стиснених архівних файлів, а також змінювати та підтримувати їх.
Tar — це утиліта комп’ютерного програмного забезпечення для збирання кількох файлів в один архівний файл під час обчислення. Його часто називають архівним файлом для резервного копіювання та розповсюдження. Назву отримано від «архіву стрічки», тому що він фактично був розроблений для вказівки даних на послідовних пристроях вводу/виводу без використання жодної з їхніх файлових систем. Групи архівних даних, створені tar, включають багато параметрів файлової системи, наприклад організацію каталогу, дозвіл доступу до файлу, право власності, позначки часу та назву. На користь pax POSIX відмовився від tar, проте tar широко використовується.
Спочатку це було оголошено у версії 7 Unix у січні 1979 року, замінивши програму tp. Для зберігання даних файлова структура була стандартизована в POSIX.1-1988 і пізніше в POSIX.1-2001 і стала шаблоном, який підтримується майже всіма сучасними системами архівування файлів. Unix-подібні операційні системи зазвичай містять інструменти для підтримки файлів tar і утиліти, які використовуються для їх стиснення, наприклад bzip2 і gzip.
Починаючи з оновлення Microsoft від 10 квітня 2018 р., BSD-tar міститься в Microsoft Windows, і існує два або більше сторонніх інструментів для читання та запису цих шаблонів у Windows.
Формати файлів tar
Існує багато доступних форматів файлів tar, включаючи поточні та історичні. У POSIX написані два формати tar: pax і ustar.
Заголовок
Запис заголовка файлу містить метадані файлу. У записі заголовка інформація кодується в стандартах ASCII, щоб забезпечити гнучкість між різними архітектурами з використанням різних порядків байтів. Отже, якщо кожен файл є текстовим файлом ASCII в архіві та містить імена ASCII, архів є текстовим файлом ASCII (має кілька символів NUL).
У наведеній нижче таблиці згадано кілька полів, визначених фактичним форматом Unix tar. Таблиця типів файлів посилань/індикаторів містить кілька сучасних розширень. Поле заповнюється різними байтами NUL, якщо воно не використовується.
Заголовок tar до POSIX.1-1988:
Поле | Розмір поля | Зсув поля |
---|---|---|
Ім'я файлу | 100 | 0 |
Файловий режим | 8 | 100 |
Числовий ідентифікатор користувача власника | 8 | 108 |
Числовий ідентифікатор користувача групи | 8 | 116 |
Розмір файлу в байтах | 12 | 124 |
Час останньої модифікації у формі числового часу Unix | 12 | 136 |
Контрольна сума для запису заголовка | 8 | 148 |
Індикатор посилання | 1 | 156 |
Ім'я пов'язаного файлу | 100 | 157 |
Формат Ustart
У форматі Ustar майже кожна сучасна програма tar записує та читає архіви, оголошено стандартом POSIX IEEE P1003.1 від 1988 року. Він представив додаткові поля заголовків. Попередні програми tar уникали додаткової інформації, але нові програми перевіряли наявність рядка 'Ustar', щоб вирішити, чи використовується новий формат.
Поле | Розмір поля | Зсув поля |
---|---|---|
Багато полів, як і в попередньому форматі | 156 | 0 |
Тип прапора | 1 | 156 |
Аналогічне поле, як і в попередньому форматі | 100 | 157 |
'ustar' Ustar indicator, then NUL | 6 | 257 |
'00' Ustar version | 2 | 263 |
Ім'я користувача власника | 32 | 265 |
Назва групи власника | 32 | 297 |
Основний номер пристрою | 8 | 329 |
Другорядний номер пристрою | 8 | 337 |
Префікс імені файлу | 155 | 3. 4. 5 |
POSIX.1-2001/pax
Sun запропонувала техніку додавання розширень до формату tar у 1997 році. Пізніше її було схвалено для стандарту POSIX.1-2001. Формат називається форматом pax або розширеним форматом tar. Деякі теги визначені стандартом POSIX, зокрема mtime, atime, linkpath, gname, uname, sizes, gid, uid, а також визначення набору символів для імен груп/користувачів та імен шляхів.
Ключові реалізації tar
Ключові реалізації згадуються в порядку походження:
Крім того, більшість реалізацій cpio та pax можуть створювати та читати два або більше типів файлів tar.
Синтаксис команди tar:
tar [options] [archive-file] [directory or file to be archived]
Параметри в команді tar
Нижче наведено різні параметри команди tar:
Знайомство з архівним файлом
Архівний файл можна визначити як файл, який містить декілька файлів із метаданими. Ці файли використовуються для збору більше ніж одного файлу даних в окремому файлі для полегшення зберігання та переносимості. Його також можна використовувати для стиснення файлів, щоб споживати менше місця для зберігання.
Приклади команди tar
Ось деякі з важливих прикладів, які широко використовуються в команді tar:
1. Створення нестисненого архіву tar з опцією -cvf
Цей параметр робить файл tar відомим як файл.tar . Це архів кожного файлу .txt усередині mydir каталог.
Команда така:
$ tar cvf file.tar *.txt
2. Розпакування файлів через архів з опцією -xvf
Ця опція може витягувати файли через архіви.
Команда така:
$ tar xvf file.tar
3. стиснення gzip поверх архіву tar з опцією -z
Цей параметр робить файл tar відомим як файл.tar.gz. Це архів кожного файлу .txt.
Команда така:
$ tar cvzf file.tar.gz *.txt
4. Розпакуйте архів tar gzip за допомогою параметра -xvzf
Ця опція може розпакувати файли через file.tar.gz архівні файли tar.
Команда така:
$ tar xvzf file.tar.gz
5. Створення стислих файлів tar за допомогою опції -j
Ця опція допоможе нам створювати та стискати архівні файли. І розпакування, і стиснення займають більше часу порівняно з gzip.
Команда така:
$ tar cvfj file.tar.tbz hello1.txt
6. Розпакуйте один вказаний каталог або файл у Linux
Цей параметр використовується для розпакування будь-якого файлу в нашому поточному каталозі або всередині вказаного каталогу з параметром -C.
Команда така:
$ tar -xvf file.tar -C file's path in the directory
Або
$ tar -xvf file.tar
7. Розпакуйте кілька файлів .tar.tbz, .tar.gz, .tar у Linux
Цей варіант нам допоможе поширення або витягніть більше одного файлу з tar.bz2, tar.gz і файлу архіву tar.
Приклад цього варіанту такий:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Або
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Або
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Перевірте розмір наявного файлу tar.tbz, tar.gz, tar
Команда допоможе нам показати розмір архівного файлу в кілобайтах (КБ), який згаданий вище.
Команда така:
$ tar -czf - file2.tar.tbz | wc -c
Або
$ tar -czf - file1.tar.gz | wc -c
Або
$ tar -czf - file.tar | wc -c
9. Оновіть існуючий файл tar
У Linux команда для оновлення існуючого файлу tar така:
npm install команда
$ tar rvf file.tar *.txt
10. Список вмісту та опис файлу tar з опцією tf
Ця опція допоможе нам переглянути весь список архівних файлів. Крім того, ми можемо перерахувати певний вміст у будь-якому файлі tar.
Команда така:
$ tar tf file.tar
11. Перегляньте архів за допомогою параметра -tvf
У Linux ми можемо використовувати параметр -tvf для перегляду архіву.
Команда така:
$ tar -tvf file.tar
12. Передайте назву файлу як аргумент, щоб знайти файл tar
Ця опція дозволяє переглядати заархівовані файли з інформацією про них.
Команда така:
$ tar tvf file.tar filename
13. Використання каналу для введення команди grep для пошуку того, що ми шукаємо
Ця опція допоможе нам перерахувати лише згадане зображення чи текст захоплення через архівні файли.
Команда така:
$ tar tvf file.tar | grep 'filename.file'
Або
$ tar tvf file.tar | grep 'text to search'
Вступ до символів підстановки
Крім того, у Linux символи узагальнення називають символом підстановки або символом підстановки. Це символ, який використовується для представлення або заміни кількох символів.
Як правило, символи узагальнення – це або знак питання (?), який ілюструє окремий символ, або зірочка (*), що ілюструє кілька символів.
приклад-
14. Знайдіть зображення у форматі .webp
Це допоможе нам видобути лише файли з розширенням .webp з архіву file.tar. Параметр -wildcards інформує tar про інтерпретацію символів підстановки в назві файлу, який потрібно видобути.
Ім’я файлу (*.webp) укладено в одинарні лапки для захисту символу узагальнення (*) від неправильного розширення будь-якою оболонкою.
Команда така:
$ tar tvf file.tar --wildcards '*.webp'
Примітка. У наведеній вище команді символ «*» застосовано в позиції назви файлу для отримання кожного файлу, доступного в цьому конкретному каталозі.
15. Видаліть файли з архіву tar
Ми можемо використовувати опцію --delete для видалення файлів і архіву tar.
Команда така:
$ tar --delete -f archive.tar file_name
приклад:
tar -delete -f file.tar hello1.txt
Вихід:
hello1.txt файл видалено з архіву file.tar: