Командата tar е съкращение от лентов архив в Linux. Тази команда се използва за създаване на архив и извличане на архивните файлове. в Linux , това е една от основните команди, които улесняват функционалността за архивиране. Можем да използваме тази команда за създаване на некомпресирани и компресирани архивни файлове и също така да ги променяме и поддържаме.
Tar е помощна програма на компютърен софтуер за събиране на няколко файла в един архивен файл в компютъра. Често е известен като tarball за целите на архивиране и разпространение. Заглавието е взето от „tape archive“, защото всъщност е разработено, за да специфицира данни на последователни I/O устройства, използващи нито една от техните файлови системи. Групите архивни данни, създадени от 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 байтове, ако не се използва.
Преди POSIX.1-1988 tar заглавка:
Поле | Размер на полето | Отместване на полето |
---|---|---|
Име на файл | 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, след това NUL | 6 | 257 |
'00' Ustar версия | 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 файл, известен като file.tar . Това е архивът на всеки .txt файл вътре mydir указател.
Командата е следната:
$ tar cvf file.tar *.txt
2. Извличане на файлове през архива с опция -xvf
Тази опция може да извлича файлове чрез архиви.
Командата е следната:
$ tar xvf file.tar
3. gzip компресия върху tar архив с опция -z
Тази опция прави tar файл, известен като file.tar.gz. Това е архивът на всеки .txt файл.
Командата е следната:
$ tar cvzf file.tar.gz *.txt
4. Извличане на gzip tar архива с опцията -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
Командата ще ни помогне да покажем размера на архивния файл в килобайти (KB), който е споменат по-горе.
Командата е следната:
$ tar -czf - file2.tar.tbz | wc -c
Или,
$ tar -czf - file1.tar.gz | wc -c
Или,
$ tar -czf - file.tar | wc -c
9. Актуализирайте съществуващия tar файл
В Linux командата за актуализиране на съществуващ tar файл е както следва:
$ 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: