Linux "катран”Означава лентов архив, който се използва от голям брой Linux/Unix системни администратори да се занимават с архивиране на лентови устройства. Командата tar, използвана за извличане на колекция от файлове и директории във високо компресиран архивен файл, обикновено наричан тарбол или катран, gzip и bzip в Linux. Tar е най -широко използваната команда за създаване на компресирани архивни файлове и може лесно да се премества от един диск на друг диск или машина към машина.
В тази статия ще разгледаме и обсъдим различни примери за команда tar включително как да създавате архивни файлове с помощта на (катран, tar.gz, и tar.bz2) компресиране, как да извлечете архивен файл, да извлечете един файл, да прегледате съдържанието на файла, да проверите файл, да добавите файлове или директории към архивния файл, да прецените размера на архивния файл на tar и т.н.
Основната цел на това ръководство е да предостави различни примери за команда tar това може да ви бъде полезно да разберете и да станете експерт в манипулирането на архив на tar.
Примерната команда по -долу ще създаде a катран архивен файл 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
The bz2 функция компресира и създава архивен файл по -малък от размера на gzip. The bz2 компресирането отнема повече време за компресиране и декомпресиране на файлове, отколкото gzip, което отнема по -малко време. За да създадем силно компресиран tar файл използваме опцията й. Следващата примерна команда ще създаде 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 в настоящата работна директория. Ако искате да деартирате в друга директория, използвайте опцията като -° С (посочена директория).
## Отмяна на файлове в текущата директория ### 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 архивен файл, просто изпълнете следната команда. Ако искаме да дезаргираме в различни директории, просто използваме option -° С и пътя на директорията, както е показано в горния пример.
# tar -xvf миниатюри-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 архивния файл, просто изпълнете следната команда с опция T (съдържанието на списъка). Командата по -долу ще изброи съдържанието на uploadprogress.tar файл.
# tar -tvf uploadprogress.tar -rw-r-r-- chregu/персонал 2276 2011-08-15 18:51:10 package2.xml. -rw-r-r-- chregu/персонал 7877 2011-08-15 18:51:10 uploadprogress/examples/index.php. -rw-r-r-- chregu/персонал 1685 2011-08-15 18:51:10 uploadprogress/examples/server.php. -rw-r-r-- chregu/персонал 1697 2011-08-15 18:51:10 uploadprogress/examples/info.php. -rw-r-r-- chregu/персонал 367 2011-08-15 18:51:10 uploadprogress/config.m4. -rw-r-r-- chregu/персонал 303 2011-08-15 18:51:10 uploadprogress/config.w32. -rw-r-r-- chregu/персонал 3563 2011-08-15 18:51:10 uploadprogress/php_uploadprogress.h. -rw-r-r-- chregu/персонал 15433 2011-08-15 18:51:10 uploadprogress/uploadprogress.c. -rw-r-r-- chregu/персонал 1433 2011-08-15 18:51:10 package.xml
Използвайте следната команда, за да изброите съдържанието на tar.gz файл.
# tar -tvf staging.tecmint.com.tar.gz -rw-r-r-- корен/корен 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-- корен/корен 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-- корен/корен 0 2012-08-30 04:03:57 staging.tecmint.com-error_log. -rw-r-r-- корен/корен 3981 2012-08-29 18:35:12 staging.tecmint.com-error_log.1. -rw-r-r-- корен/корен 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-- корен/корен 211 2011-11-20 17:28:24 staging.tecmint.com-error_log.4
За да изброите съдържанието на tar.bz2 файл, издайте следната команда.
# tar -tvf Phpfiles -org.tar.bz2drwxr-xr-x root/root 0 2012-09-15 03:06:08/home/php/ -rw-r-r-- корен/корен 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-- корен/корен 2152 2012-09-15 03:06:08 /home/php/rss.php. -rw-r-r-- корен/корен 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-- корен/корен 1273 2012-09-15 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 "файл1" "файл2"# tar -zxvf MyImages-14-09-12.tar.gz "файл1" "файл2"# tar -jxvf Phpfiles -org.tar.bz2 "файл1" "файл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 r (добавям). Например, добавяме файл 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 2012-09-15 02:24:21 начало/tecmint/ -rw-r-r-- корен/корен 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-- корен/корен 21063680 2012-09-15 02:24:21 начало/tecmint/tecmint-14-09-12.tar. -rw-r-r-- корен/корен 4437600 2012-09-15 02:23:41 home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm. -rw-r-r-- корен/корен 12680 2012-09-15 02:23:41 home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm.-rw-r-r-- корен/корен 0 2012-08-18 19:11:04 xyz.txtdrwxr-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-корен/корен 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 -корен/корен 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
Командата 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: Излизането на грешка забавено поради предишни грешки
За да проверим всеки катран или компресиран архивен файл, използваме опцията 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 2012-09-15 02:23:41 /home/tecmint/openvpn-2.1.4.tar.gz. Проверете -rw-r-r-- корен/корен 21063680 2012-09-15 02:24:21 /home/tecmint/tecmint-14-09-12.tar. tar: /home/tecmint/tecmint-14-09-12.tar: Предупреждение: Cannot stat: Няма такъв файл или директория. Проверете -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: Предупреждение: Cannot stat: Няма такъв файл или директория. Проверете -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: Предупреждение: Cannot stat: Няма такъв файл или директория. Проверете -rw-r-r-- корен/корен 0 2012-08-18 19:11:04 xyz.txt. Проверете drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/
За да проверите размера на всеки катран, tar.gz, и tar.bz2 архивен файл, използвайте следната команда. Например, командата по -долу ще покаже размера на архивния файл в килобайти (KB).
# 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
Това е засега, надявам се горното примери за команда tar са достатъчни, за да научите, а за повече информация, моля, използвайте човек катран команда.
Ако искате да разделите всеки голям архивен tar файл на множество части или блокове, просто преминете през тази статия:
Не пропускайте:Разделете голям архив „tar“ на множество файлове с определен размер
Ако сме пропуснали някой пример, моля, споделете с нас чрез полето за коментари и не забравяйте да споделите тази статия с приятелите си. Това е най -добрият начин да благодарите ...