Линукс”смола” обозначает ленточный архив, который используется большим количеством Линукс/Юникс системные администраторы для работы с ленточным накопителем резервное копирование в линуксе.
команда tar в линукс используется для копирования набора файлов и каталогов в сильно сжатый архивный файл, обычно называемый архив или смола, gzip и bzip в линукс.
смола это наиболее широко используемая команда для создания сжатых архивных файлов, которые можно легко перемещать с одного диска на другой или с одной машины на другую.

В этой статье мы рассмотрим и обсудим различные примеры команд tar в том числе как создавать архивные файлы с помощью (смола, tar.gz, и tar.bz2) сжатие, как извлечь архивные файлы, извлечь один файл, просмотреть содержимое файла, проверить файл, добавить файлы или каталоги в существующий архивный файл, оценить размер архивного файла tar и т. д.
Основная цель этого руководства состоит в том, чтобы предоставить различные примеры команд tar это может быть полезно для вас, чтобы понять и стать экспертом в работе с архивами tar.
Оглавление
1. Создайте файл tar в Linux
Приведенный ниже пример смола команда создаст смола архивный файл tecmint-14-09-12.tar для каталога /дом/текминт в текущем рабочем каталоге.
См. пример смола команда в действии.
# tar -cvf tecmint-14-09-12.tar /home/tecmint/ /home/tecmint/ /home/tecmint/cleanfiles.sh /home/tecmint/openvpn-2.1.4.tar.gz /home/tecmint/tecmint-14-09-12.tar /home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm /home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
Давайте обсудим каждый вариант, использованный в приведенном выше смола Команда для создания файла архива tar.
- с – Создает новый .tar архивный файл.
- в – Подробно показать .tar прогресс файла.
- ф – Тип имени файла архивного файла.
2. Создайте файл tar.gz в Linux.
Чтобы создать сжатый gzip файл архива мы используем опцию г. Например, приведенная ниже команда создаст сжатый Мои изображения-14-09-12.tar.gz файл для каталога /home/Мои изображения. (Примечание: tar.gz и tgz похожи.).
# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages OR # tar cvzf MyImages-14-09-12.tgz /home/MyImages /home/MyImages/ /home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg /home/MyImages/RobertKristenviolent101201.jpg /home/MyImages/Justintimerlake101125.jpg /home/MyImages/Mileyphoto101203.jpg /home/MyImages/JenniferRobert101130.jpg /home/MyImages/katrinabarbiedoll231110.jpg /home/MyImages/the-japanese-wife-press-conference.jpg /home/MyImages/ReesewitherspoonCIA101202.jpg /home/MyImages/yanaguptabaresf231110.jpg
3. Создайте файл tar.bz2 в Linux.
бз2 функция сжимает и создает файл архива меньше размера gzip. бз2 сжатие занимает больше времени для сжатия и распаковки файлов, чем сжатие, что занимает меньше времени.
Чтобы создать сильно сжатый tar-файл, мы используем опцию Дж. В следующем примере команда создаст Phpfiles-org.tar.bz2 файл для каталога /дом/php. (Примечание: tar.bz2 и tbz аналогичны tb2.).
# tar cvfj Phpfiles-org.tar.bz2 /home/php OR # tar cvfj Phpfiles-org.tar.tbz /home/php OR # tar cvfj Phpfiles-org.tar.tb2 /home/php /home/php/ /home/php/iframe_ew.php /home/php/videos_all.php /home/php/rss.php /home/php/index.php /home/php/vendor.php /home/php/video_title.php /home/php/report.php /home/php/object.html /home/php/video.php
4. Извлеките файл Tar в Linux
Чтобы распаковать или извлечь tar-файл, просто введите следующую команду, используя опцию Икс (извлекать). Например, приведенная ниже команда распаковывает файл public_html-14-09-12.tar в текущем рабочем каталоге.
Если вы хотите распаковать в другой каталог, используйте опцию -С (указанный каталог).
## Untar files in Current Directory ## # tar -xvf public_html-14-09-12.tar ## Untar files in specified Directory ## # tar -xvf public_html-14-09-12.tar -C /home/public_html/videos/ /home/public_html/videos/ /home/public_html/videos/views.php /home/public_html/videos/index.php /home/public_html/videos/logout.php /home/public_html/videos/all_categories.php /home/public_html/videos/feeds.xml
5. Извлеките файл tar.gz в Linux
Чтобы распаковать tar.gz архивный файл, просто выполните следующую команду. Если мы хотим разархивировать в разных каталогах, просто используйте опцию -С и путь к каталогу, как показано в приведенном выше примере.
# tar -xvf thumbnails-14-09-12.tar.gz /home/public_html/videos/thumbnails/ /home/public_html/videos/thumbnails/katdeepika231110.jpg /home/public_html/videos/thumbnails/katrinabarbiedoll231110.jpg /home/public_html/videos/thumbnails/onceuponatime101125.jpg /home/public_html/videos/thumbnails/playbutton.png /home/public_html/videos/thumbnails/ReesewitherspoonCIA101202.jpg /home/public_html/videos/thumbnails/snagItNarration.jpg /home/public_html/videos/thumbnails/Minissha-Lamba.jpg /home/public_html/videos/thumbnails/Lindsaydance101201.jpg /home/public_html/videos/thumbnails/Mileyphoto101203.jpg
6. Извлеките файл tar.bz2 в Linux
Чтобы распаковать сильно сжатый tar.bz2 файл, просто используйте следующую команду. В приведенном ниже примере команда распаковывает все .flv файлы из файла архива.
# tar -xvf videos-14-09-12.tar.bz2 /home/public_html/videos/flv/katrinabarbiedoll231110.flv /home/public_html/videos/flv/BrookmuellerCIA101125.flv /home/public_html/videos/flv/dollybackinbb4101125.flv /home/public_html/videos/flv/JenniferRobert101130.flv /home/public_html/videos/flv/JustinAwardmovie101125.flv /home/public_html/videos/flv/Lakme-Fashion-Week.flv /home/public_html/videos/flv/Mileyphoto101203.flv /home/public_html/videos/flv/Minissha-Lamba.flv
7. Список файлов Tar в Linux
Чтобы просмотреть содержимое файла архива tar, просто запустите следующую команду с параметром т (список содержимого). Приведенная ниже команда отобразит содержимое файла Загрузить прогресс.tar файл.
# tar -tvf uploadprogress.tar -rw-r--r-- chregu/staff 2276 2011-08-15 18:51:10 package2.xml -rw-r--r-- chregu/staff 7877 2011-08-15 18:51:10 uploadprogress/examples/ index.php -rw-r--r-- chregu/staff 1685 2011-08-15 18:51:10 uploadprogress/examples/ server.php -rw-r--r-- chregu/staff 1697 2011-08-15 18:51:10 uploadprogress/examples/ info.php -rw-r--r-- chregu/staff 367 2011-08-15 18:51:10 uploadprogress/ config.m4 -rw-r--r-- chregu/staff 303 2011-08-15 18:51:10 uploadprogress/ config.w32 -rw-r--r-- chregu/staff 3563 2011-08-15 18:51:10 uploadprogress/ php_uploadprogress.h -rw-r--r-- chregu/staff 15433 2011-08-15 18:51:10 uploadprogress/ uploadprogress.c -rw-r--r-- chregu/staff 1433 2011-08-15 18:51:10 package.xml
8. Список файлов tar.gz в Linux
Используйте следующую команду, чтобы просмотреть содержимое файла tar.gz файл.
# tar -tvf staging.tecmint.com.tar.gz -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-access_log -rw-r--r-- root/root 587 2012-08-29 18:35:12 staging.tecmint.com-access_log.1 -rw-r--r-- root/root 156 2012-01-21 07:17:56 staging.tecmint.com-access_log.2 -rw-r--r-- root/root 156 2011-12-21 11:30:56 staging.tecmint.com-access_log.3 -rw-r--r-- root/root 156 2011-11-20 17:28:24 staging.tecmint.com-access_log.4 -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-error_log -rw-r--r-- root/root 981 2012-08-29 18:35:12 staging.tecmint.com-error_log.1 -rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.tecmint.com-error_log.2 -rw-r--r-- root/root 211 2011-12-21 11:30:56 staging.tecmint.com-error_log.3 -rw-r--r-- root/root 211 2011-11-20 17:28:24 staging.tecmint.com-error_log.4
9. Список файлов tar.bz2 в Linux
Чтобы перечислить содержимое tar.bz2 файл, введите следующую команду.
# tar -tvf Phpfiles-org.tar.bz2 drwxr-xr-x root/root 0 2012-09-15 03:06:08 /home/php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 /home/php/iframe_ew.php -rw-r--r-- root/root 11220 2012-09-15 03:06:08 /home/php/videos_all.php -rw-r--r-- root/root 2152 2012-09-15 03:06:08 /home/php/rss.php -rw-r--r-- root/root 3021 2012-09-15 03:06:08 /home/php/index.php -rw-r--r-- root/root 2554 2012-09-15 03:06:08 /home/php/vendor.php -rw-r--r-- root/root 406 2012-09-15 03:06:08 /home/php/video_title.php -rw-r--r-- root/root 4116 2012-09-15 03:06:08 /home/php/report.php -rw-r--r-- root/root 1273 2012-09-15 03:06:08 /home/php/object.html
10. Извлечь файл из Tar в Linux
Чтобы извлечь один файл с именем cleanfiles.sh от cleanfiles.sh.tar используйте следующую команду.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh OR # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
11. Извлеките файл из tar.gz в Linux
Чтобы извлечь один файл tecmintbackup.xml из tecmintbackup.tar.gz архивный файл, используйте команду следующим образом.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml OR # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
12. Извлеките файл из tar.bz2 в Linux
Чтобы извлечь один файл с именем index.php из файла Phpfiles-org.tar.bz2 используйте следующий вариант.
# tar -jxvf Phpfiles-org.tar.bz2 home/php/index.php OR # tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php /home/php/index.php
13. Извлеките несколько файлов Tar в Linux
Чтобы извлечь или распаковать несколько файлов из смола, tar.gz, и tar.bz2 архивные файлы. Например, приведенная ниже команда извлечет «файл 1” и “файл 2» из файлов архива.
# tar -xvf tecmint-14-09-12.tar "file1" "file2" # tar -zxvf MyImages-14-09-12.tar.gz "file1" "file2" # tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"
14. Извлеките группу файлов с помощью подстановочного знака в Linux.
Для извлечения группы файлов мы используем на основе подстановочных знаков извлечение. Например, чтобы извлечь группу всех файлов, шаблон которых начинается с .php из tar, tar.gz и tar.bz2 архивный файл.
# tar -xvf Phpfiles-org.tar --wildcards '*.php' # tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php' # tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php' /home/php/iframe_ew.php /home/php/videos_all.php /home/php/rss.php /home/php/index.php /home/php/vendor.php /home/php/video_title.php /home/php/report.php /home/php/video.php
15. Добавьте файлы или каталоги в Tar в Linux
Чтобы добавить файлы или каталоги в существующие файлы архива tar, мы используем опцию р (добавить). Например, мы добавляем файл xyz.txt и каталог php к существующему tecmint-14-09-12.tar архивный файл.
# tar -rvf tecmint-14-09-12.tar xyz.txt # tar -rvf tecmint-14-09-12.tar php drwxr-xr-x root/root 0 2012-09-15 02:24:21 home/tecmint/ -rw-r--r-- root/root 15740615 2012-09-15 02:23:42 home/tecmint/ cleanfiles.sh -rw-r--r-- root/root 863726 2012-09-15 02:23:41 home/tecmint/ openvpn-2.1.4.tar.gz -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 home/tecmint/ tecmint-14-09-12.tar -rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/tecmint/ phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm -rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/tecmint/ rpmforge-release-0.5.2-2.el5.rf.i386.rpm -rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 php/iframe_ew.php -rw-r--r-- root/root 11220 2012-09-15 03:06:08 php/videos_all.php -rw-r--r-- root/root 2152 2012-09-15 03:06:08 php/rss.php -rw-r--r-- root/root 3021 2012-09-15 03:06:08 php/index.php -rw-r--r-- root/root 2554 2012-09-15 03:06:08 php/vendor.php -rw-r--r-- root/root 406 2012-09-15 03:06:08 php/video_title.php
16. Добавьте файлы или каталоги в файлы tar.gz и tar.bz2.
Команда tar не позволяет добавлять файлы или каталоги в существующий сжатый tar.gz и tar.bz2 архивный файл. Если мы попробуем, получим следующую ошибку.
# tar -rvf MyImages-14-09-12.tar.gz xyz.txt # tar -rvf Phpfiles-org.tar.bz2 xyz.txt tar: This does not look like a tar archive tar: Skipping to next header xyz.txt tar: Error exit delayed from previous errors
17. Как проверить архивный файл tar, tar.gz и tar.bz2
Для проверки любого tar или сжатого заархивированного файла мы используем опцию Вт (проверять). Для этого достаточно использовать следующие примеры команд. (Примечание: Вы не можете выполнить проверку на сжатом ( *.tar.gz, *.tar.bz2 ) архивный файл).
# tar tvfW tecmint-14-09-12.tar tar: This does not look like a tar archive tar: Skipping to next header tar: Archive contains obsolescent base-64 headers tar: VERIFY FAILURE: 30740 invalid headers detected Verify -rw-r--r-- root/root 863726 2012-09-15 02:23:41 /home/tecmint/openvpn-2.1.4.tar.gz Verify -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 /home/tecmint/tecmint-14-09-12.tar tar: /home/tecmint/tecmint-14-09-12.tar: Warning: Cannot stat: No such file or directory Verify -rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm tar: /home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm: Warning: Cannot stat: No such file or directory Verify -rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm tar: /home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm: Warning: Cannot stat: No such file or directory Verify -rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt Verify drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/
18. Проверьте размер файла Tar в Linux
Чтобы проверить размер любого смола, tar.gz, и tar.bz2 архивный файл, используйте следующую команду. Например, приведенная ниже команда отобразит размер файла архива в килобайтах (КБ).
# tar -czf - tecmint-14-09-12.tar | wc -c 12820480 # tar -czf - MyImages-14-09-12.tar.gz | wc -c 112640 # tar -czf - Phpfiles-org.tar.bz2 | wc -c 20480
19. Исключить файлы и каталоги в файле Tar
Чтобы исключить определенные файлы и каталоги при создании tar.gz файл, вы можете использовать следующую команду с --exclude
параметр, который будет исключать файлы и каталоги при создании файла архива tar, как показано.
# tar --exclude="file1.txt" -zcvf backup.tar.gz /home/tecmint # tar --exclude="/home/tecmint/uploads" -zcvf backup.tar.gz /home/tecmint
В приведенной выше команде мы исключили файл ‘файл1.txt‘ и ‘загрузки‘ каталог из /дом/текминт папка.
Чтобы исключить файлы с определенными расширениями файлов (.txt)
при создании файла архива tar используйте:
# tar --exclude="*.txt" -zcvf backup.tar.gz /home/tecmint
20. Удалить файл и каталог из файла Tar
Следующая команда tar удалит файл или каталог из уже созданного файла tar, используя команду --delete
вариант как показано.
# tar --delete -f backup.tar.gz file1.txt # tar --delete -f backup.tar.gz '/home/tecmint/uploads'
21. Извлечь расширение файла в файле Tar
Следующая команда tar будет извлекать только файлы с определенным расширением .png
из файла архива tar с помощью --wildcards
вариант как показано.
# tar -xvf backup.tar.gz --wildcards '*.png'
22. Использование и параметры команды Tar
-c
– создать архивный файл.-x
– распаковать архивный файл.-v
– показать ход архивного файла.-f
– имя файла архива.-t
– просмотр содержимого файла архива.-u
– архивирует и добавляет к существующему файлу архива.-j
— фильтровать архив через bzip2.-z
— фильтровать архив через gzip.-r
– добавлять или обновлять файлы или каталоги к существующим архивным файлам.-W
– Проверить архивный файл.-A
– объединяет архивные файлы.--wildcards
– Укажите шаблоны в команде tar UNIX.--exclude
– исключает файлы и каталоги при создании архива.--delete
– удалить файл и каталог из архива.
Вот и все, надеюсь, что выше примеры команд tar вам достаточно для изучения, а для получения дополнительной информации, пожалуйста, используйте мужская смола команда.
# man tar
Если вы хотите разделить любой большой файл архива tar на несколько частей или блоков, просто прочитайте эту статью:
- Как разделить файл Tar на несколько файлов определенного размера
- Как скачать и извлечь файлы Tar с помощью одной команды
Если мы пропустили какие-либо примеры, поделитесь с нами в поле для комментариев и не забудьте поделиться этой статьей со своими друзьями. Это лучший способ сказать спасибо…