Linux “катран” означава лентов архив, който се използва от голям брой Linux/Unix системните администратори да се справят с архивирането на лентови устройства в Linux.
The tar команда в Linux се използва за извличане на колекция от файлове и директории в силно компресиран архивен файл, обикновено наричан tarball или катран, gzip и bzip в Linux.
The катран е най-широко използваната команда за създаване на компресирани архивни файлове, които могат лесно да се преместват от един диск на друг диск или машина на машина.

В тази статия ще прегледаме и обсъдим различни примери за команда tar включително как да създавате архивни файлове с помощта на (катран, tar.gz, и катран bz2) компресия, как да извлечете архивни файлове, да извлечете един файл, да видите съдържанието на файла, да проверите файл, да добавите файлове или директории към съществуващия архивен файл, да оцените размера на архивния файл на tar и т.н.
Основната цел на това ръководство е да предостави различни примери за команда tar това може да ви помогне да разберете и да станете експерт в манипулирането на tar архиви.
Съдържание
1. Създайте tar файл в Linux
Примерът по-долу на катран команда ще създаде a катран архивен файл tecmint-14-09-12.tar за директория /начало/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 архивен файл.
- ° С – Създава нов .катран архивен файл.
- v – Многословно покажете на .катран прогрес на файла.
- f – Тип име на архивния файл.
2. Създайте файл tar.gz в Linux
За да създадете компресиран gzip архивен файл използваме опцията z. Например командата по-долу ще създаде компресиран MyImages-14-09-12.tar.gz файл за директорията /начало/Моите изображения. (Забележка: 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
The bz2 функцията компресира и създава архивен файл, по-малък от размера на gzip. The bz2 компресията отнема повече време за компресиране и декомпресиране на файлове от gzip, което отнема по-малко време.
За да създадем силно компресиран tar файл, използваме опцията й. Следващата примерна команда ще създаде a 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
За да декомпресирате силно компресирания катран 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, просто изпълнете следната команда с опция T (съдържание на списък). Командата по-долу ще покаже съдържанието на uploadprogress.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
За да изброите съдържанието на катран 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, и катран 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 архивни файлове, използваме опцията 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 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 и катран 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, и катран 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
19. Изключете файлове и директории в Tar File
За да изключите определени файлове и директории, докато създавате a 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
В горната команда изключихме файла ‘file1.txt‘ и ‘качвания‘ директория от /начало/tecmint папка.
За да изключите файлове със специфични файлови разширения (.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
– Посочете модели в командата UNIX tar.--exclude
– изключва файлове и директории при създаване на архива.--delete
– премахнете файла и директорията от архива.
Това е засега, надявам се на горното примери за команда tar са достатъчни, за да научите, а за повече информация, моля, използвайте взимаш команда.
# man tar
Ако искате да разделите всеки голям tar архивен файл на множество части или блокове, просто прегледайте тази статия:
- Как да разделите Tar файл на няколко файла с определен размер
- Как да изтеглите и извлечете Tar файлове с една команда
Ако сме пропуснали примери, моля, споделете с нас чрез полето за коментари и моля, не забравяйте да споделите тази статия с приятелите си. Това е най-добрият начин да благодарите….
Публикациите се превеждат автоматично с google translate