Линукс »деготь»Обозначает ленточный архив, который используется большим количеством Linux / Unix системные администраторы занимаются резервным копированием ленточных накопителей. Команда tar, используемая для копирования набора файлов и каталогов в файл архива с высокой степенью сжатия, обычно называемый tarball или деготь, gzip и bzip в Linux. Tar - это наиболее широко используемая команда для создания сжатых архивных файлов, которую можно легко перемещать с одного диска на другой или с одной машины на другую.
В этой статье мы рассмотрим и обсудим различные Примеры команд tar в том числе, как создавать архивные файлы с помощью (деготь, tar.gz, и tar.bz2) сжатие, как извлечь файл архива, извлечь отдельный файл, просмотреть содержимое файла, проверить файл, добавить файлы или каталоги в файл архива, оценить размер файла архива tar и т. д.
Основная цель этого руководства - предоставить различные Примеры команд tar это может быть полезно для вас, чтобы понять и стать экспертом в работе с tar-архивами.
В приведенном ниже примере команда создаст деготь архивный файл tecmint-14-09-12.tar для каталога /home/tecmint в текущем рабочем каталоге. См. Пример команды в действии.
# 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.
Для создания сжатого gzip файл архива мы используем опцию как z. Например, приведенная ниже команда создаст сжатый MyImages-14-09-12.tar.gz файл для каталога /home/MyImages. (Примечание: tar.gz и tgz похожи).
# tar cvzf MyImages-14-09-12.tar.gz / home / MyImages ИЛИ. # 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
В bz2 функция сжимает и создает архивный файл меньше размера gzip. В bz2 сжатие занимает больше времени для сжатия и распаковки файлов, чем gzip, что занимает меньше времени. Чтобы создать сильно сжатый tar-файл, мы используем опцию j. В следующем примере команда создаст Phpfiles-org.tar.bz2 файл для каталога /home/php. (Примечание: tar.bz2 и tbz похожи на tb2).
# tar cvfj Phpfiles-org.tar.bz2 / home / php ИЛИ. # tar cvfj Phpfiles-org.tar.tbz / home / php ИЛИ # 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
Чтобы распаковать или извлечь файл tar, просто введите следующую команду, используя параметр Икс (извлекать). Например, приведенная ниже команда распакует файл public_html-14-09-12.tar в настоящем рабочем каталоге. Если вы хотите распаковать в другом каталоге, используйте опцию как -C (указанный каталог).
## Разархивируйте файлы в текущем каталоге ### tar -xvf public_html-14-09-12.tar## Разархивируйте файлы в указанном каталоге ### 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
Чтобы распаковать tar.gz файл архива, просто выполните следующую команду. Если мы хотим распаковать в разных каталогах, просто используйте опцию -C и путь к каталогу, как показано в приведенном выше примере.
# tar -xvf thumbnail-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
Чтобы распаковать сильно сжатый 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
Чтобы просмотреть содержимое файла архива tar, просто выполните следующую команду с опцией т (список содержимого). Следующая команда перечислит содержимое uploadprogress.tar файл.
# tar -tvf uploadprogress.tar -rw-r - r-- chregu / staff 2276 15.08.2011 18:51:10 package2.xml. -rw-r - r-- chregu / staff 7877 15.08.2011 18:51:10 uploadprogress / examples / index.php. -rw-r - r-- chregu / staff 1685 15.08.2011 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 15.08.2011 18:51:10 uploadprogress / config.m4. -rw-r - r-- chregu / staff 303 15.08.2011 18:51:10 uploadprogress / config.w32. -rw-r - r-- chregu / staff 3563 15.08.2011 18:51:10 uploadprogress / php_uploadprogress.h. -rw-r - r-- чрегу / посох 15433 15-08-2011, 18:51 uploadprogress / uploadprogress.c. -rw-r - r-- chregu / Staff 1433 2011-08-15 18:51:10 package.xml
Используйте следующую команду, чтобы вывести список содержимого tar.gz файл.
# tar -tvf staging.tecmint.com.tar.gz -rw-r - r-- root / root 0 30.08.2012 04:03:57 staging.tecmint.com-access_log. -rw-r - r-- root / root 587 29.08.2012 18:35:12 staging.tecmint.com-access_log.1. -rw-r - r-- root / root 156 21.01.2012 07:17:56 staging.tecmint.com-access_log.2. -rw-r - r-- root / root 156 21.12.2011 11:30:56 staging.tecmint.com-access_log.3. -rw-r - r-- root / root 156 20-11-2011, 17:28:24 staging.tecmint.com-access_log.4. -rw-r - r-- root / root 0 30.08.2012 04:03:57 staging.tecmint.com-error_log. -rw-r - r-- root / root 3981 29.08.2012 18:35:12 staging.tecmint.com-error_log.1. -rw-r - r-- root / root 211 21.01.2012 07:17:56 staging.tecmint.com-error_log.2. -rw-r - r-- root / root 211 21.12.2011 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
Чтобы перечислить содержание tar.bz2 файл, введите следующую команду.
# tar -tvf Phpfiles-org.tar.bz2drwxr-xr-x корень / корень 0 15.09.2012 03:06:08 / главная / php / -rw-r - r-- root / root 1751 15.09.2012 03:06:08 /home/php/iframe_ew.php. -rw-r - r-- root / root 11220 15.09.2012 03:06:08 /home/php/videos_all.php. -rw-r - r-- root / root 2152 15.09.2012 03:06:08 /home/php/rss.php. -rw-r - r-- root / root 3021 15.09.2012 03:06:08 /home/php/index.php. -rw-r - r-- root / root 2554 15.09.2012 03:06:08 /home/php/vendor.php. -rw-r - r-- root / root 406 15.09.2012 03:06:08 /home/php/video_title.php. -rw-r - r-- root / root 4116 15.09.2012 03:06:08 /home/php/report.php. -rw-r - r-- root / root 1273 15.09.2012 03:06:08 /home/php/object.html
Чтобы извлечь один файл с именем cleanfiles.sh из cleanfiles.sh.tar используйте следующую команду.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh ИЛИ. # tar --extract --file = cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
Чтобы извлечь один файл tecmintbackup.xml из tecmintbackup.tar.gz файл архива, используйте следующую команду.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml ИЛИ. # tar --extract --file = tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
Чтобы извлечь один файл с именем index.php из файла Phpfiles-org.tar.bz2 используйте следующую опцию.
# tar -jxvf Phpfiles-org.tar.bz2 home / php / index.php ИЛИ. # tar --extract --file = Phpfiles-org.tar.bz2 /home/php/index.php /home/php/index.php
Чтобы извлечь или распаковать несколько файлов из деготь, tar.gz, и tar.bz2 архивный файл. Например, приведенная ниже команда извлечет «файл 1” “файл 2»Из архивных файлов.
# tar -xvf tecmint-14-09-12.tar "file1" "файл2"# tar -zxvf MyImages-14-09-12.tar.gz "file1" "файл2"# tar -jxvf Phpfiles-org.tar.bz2 "file1" "файл2"
Для извлечения группы файлов мы используем на основе подстановочных знаков извлечение. Например, чтобы извлечь группу всех файлов, шаблон которых начинается с .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
Чтобы добавить файлы или каталоги к существующим файлам архива 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 phpdrwxr-xr-x root / root 0 15.09.2012 02:24:21 главная / tecmint / -rw-r - r-- root / root 15740615 15.09.2012 02:23:42 home / tecmint / cleanfiles.sh. -rw-r - r-- root / root 863726 15.09.2012 02:23:41 home / tecmint / openvpn-2.1.4.tar.gz. -rw-r - r-- root / root 21063680 15.09.2012 02:24:21 home / tecmint / tecmint-14-09-12.tar. -rw-r - r-- root / root 4437600 15.09.2012 02:23:41 home / tecmint / phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm. -rw-r - r-- root / root 12680 15.09.2012 02:23:41 home / tecmint / rpmforge-release-0.5.2-2.el5.rf.i386.rpm.-rw-r - r-- корень / корень 0 18.08.2012 19:11:04 xyz.txtdrwxr-xr-x root / root 0 15.09.2012 03:06:08 php / -rw-r - r-- root / root 1751 15.09.2012 03:06:08 php / iframe_ew.php - rw-r - r-- корень / корень 11220 2012-09-15 03:06:08 php / videos_all.php -rw-r - r-- root / root 2152 15.09.2012 03:06:08 php / rss.php -rw-r - r - root / root 3021 15.09.2012 03:06:08 php / index.php -rw-r - r-- root / root 2554 15.09.2012 03:06:08 php / vendor.php -rw-r - r-- root / root 406 2012-09-15 03:06:08 php / video_title.php
У команды tar нет возможности добавлять файлы или каталоги в существующий сжатый tar.gz и tar.bz2 архивный файл. Если мы все же попробуем, получим следующую ошибку.
# tar -rvf MyImages-14-09-12.tar.gz xyz.txt# tar -rvf Phpfiles-org.tar.bz2 xyz.txt tar: Это не похоже на архив tar. tar: переход к следующему заголовку. xyz.txt. tar: ошибка выхода отложена из-за предыдущих ошибок
Чтобы проверить любой tar или сжатый архивный файл, мы используем опцию W (проверять). Для этого воспользуйтесь следующими примерами команд. (Примечание: Невозможно выполнить проверку сжатого ( * .tar.gz, * .tar.bz2 ) архивный файл).
# tar tvfW tecmint-14-09-12.tar tar: Это не похоже на архив tar. tar: переход к следующему заголовку. tar: Архив содержит устаревшие заголовки base-64. tar: VERIFY FAILURE: обнаружено 30740 недопустимых заголовков. Проверьте -rw-r - r-- root / root 863726 15.09.2012 02:23:41 /home/tecmint/openvpn-2.1.4.tar.gz. Проверьте -rw-r - r-- root / root 21063680 15.09.2012 02:24:21 /home/tecmint/tecmint-14-09-12.tar. tar: /home/tecmint/tecmint-14-09-12.tar: Предупреждение: Невозможно stat: Нет такого файла или каталога. Проверьте -rw-r - r-- root / root 4437600 15.09.2012 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: Предупреждение: Невозможно stat: Нет такого файла или каталога. Проверьте -rw-r - r-- root / root 12680 15.09.2012 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: Предупреждение: Невозможно stat: Нет такого файла или каталога. Проверьте -rw-r - r-- root / root 0 18.08.2012 19:11:04 xyz.txt. Проверьте drwxr-xr-x root / root 0 15.09.2012 03:06:08 php /
Проверить размер любого деготь, tar.gz, и tar.bz2 файл архива, используйте следующую команду. Например, приведенная ниже команда отобразит размер файла архива в килобайтах (КБ).
# tar -czf - tecmint-14-09-12.tar | туалет -c 12820480 # tar -czf - MyImages-14-09-12.tar.gz | туалет -c 112640 # tar -czf - Phpfiles-org.tar.bz2 | туалет -c 20480
На данный момент это все, надеюсь, что выше Примеры команд tar достаточно, чтобы вы учились, и для получения дополнительной информации используйте человек смола команда.
Если вы хотите разделить любой большой файл tar-архива на несколько частей или блоков, просто прочтите эту статью:
Не пропустите:Разделить большой tar-архив на несколько файлов определенного размера
Если мы пропустили какой-либо пример, поделитесь с нами через поле для комментариев и не забудьте поделиться этой статьей со своими друзьями. Это лучший способ сказать спасибо ...