18 Shembuj të dobishëm të komandave Tar për çdo Linux Sysadmin


Tar i Linux qëndron për arkivin e shiritit, i cili përdoret nga një numër i madh administratorësh të sistemit Linux/Unix për t'u marrë me rezervimin e disqeve kasetë.

Komanda tar përdoret për të shqyer një koleksion skedarësh dhe drejtorish në një skedar arkivi shumë të ngjeshur që zakonisht quhet tarball ose tar, gzip dhe bzip në Linux.

Tar është komanda më e përdorur për të krijuar skedarë të ngjeshur të arkivit dhe që mund të zhvendosen lehtësisht nga një disk në një disk tjetër ose makinë në makinë.

Në këtë artikull, ne do të shqyrtojmë dhe diskutojmë shembuj të ndryshëm të komandave tar, duke përfshirë mënyrën e krijimit të skedarëve arkivues duke përdorur kompresimin (tar, tar.gz dhe tar.bz2), si të nxjerrim skedarin e arkivit, të nxjerrim një skedar të vetëm, të shikojmë përmbajtjen të skedarit, verifikoni një skedar, shtoni skedarë ose drejtori në skedarin ekzistues të arkivit, vlerësoni madhësinë e skedarit të arkivit tar, etj.

[ Ju gjithashtu mund të pëlqeni: 7-Zip – Kompresoni dhe çkompresoni skedarët me raport të lartë kompresimi]

Qëllimi kryesor i këtij udhëzuesi është të ofrojë shembuj të ndryshëm të komandave tar që mund të jenë të dobishëm për ju për të kuptuar dhe për t'u bërë ekspert në manipulimin e arkivit tar.

Komanda e shembullit të mëposhtëm do të krijojë një skedar arkivi tar tecmint-14-09-12.tar për një drejtori /home/tecmint në direktorinë aktuale të punës. Shihni shembullin e komandës në veprim.

# 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

Le të diskutojmë çdo opsion të përdorur në komandën e mësipërme për të krijuar një skedar arkivi tar.

  1. c – Krijon një skedar të ri arkivi .tar.
  2. v – Trego me fjalë progresin e skedarit .tar.
  3. f – Lloji i emrit të skedarit të skedarit të arkivit.

Për të krijuar një skedar arkivi të ngjeshur gzip ne përdorim opsionin si z. Për shembull, komanda e mëposhtme do të krijojë një skedar të ngjeshur MyImages-14-09-12.tar.gz për drejtorinë /home/MyImages. (Shënim: tar.gz dhe tgz të dyja janë të ngjashme).

# 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

Veçoria bz2 ngjesh dhe krijon një skedar arkivi më të vogël se madhësia e gzip. Kompresimi bz2 kërkon më shumë kohë për të kompresuar dhe dekompresuar skedarët sesa gzip, gjë që kërkon më pak kohë.

Për të krijuar një skedar tar shumë të kompresuar ne përdorim opsionin j. Shembulli i mëposhtëm komanda do të krijojë një skedar Phpfiles-org.tar.bz2 për një direktori /home/php. (Shënim: tar.bz2 dhe tbz është i ngjashëm me 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

Për të hequr ose hequr një skedar tar, thjesht lëshoni komandën e mëposhtme duke përdorur opsionin x (ekstrakt). Për shembull, komanda e mëposhtme do të zhvlerësojë skedarin public_html-14-09-12.tar në drejtorinë aktuale të punës.

Nëse dëshironi të çtarni në një drejtori tjetër, atëherë përdorni opsionin si -C (drejtoria e specifikuar).

## 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

Për të çkompresuar skedarin e arkivit tar.gz, thjesht ekzekutoni komandën e mëposhtme. Nëse do të dëshironim të çtartojmë në drejtori të ndryshme, thjesht përdorni opsionin -C dhe shtegun e drejtorisë, siç tregohet në shembullin e mësipërm.

# 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

Për të çkompresuar skedarin tar.bz2 shumë të ngjeshur, thjesht përdorni komandën e mëposhtme. Shembulli i mëposhtëm komanda do të heqë të gjithë skedarët .flv nga skedari i arkivit.

# 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

Për të renditur përmbajtjen e skedarit të arkivit tar, thjesht ekzekutoni komandën e mëposhtme me opsionin t (lista e përmbajtjes). Komanda e mëposhtme do të listojë përmbajtjen e skedarit 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

Përdorni komandën e mëposhtme për të renditur përmbajtjen e skedarit tar.gz.

# tar -tvf staging.linux-console.net.tar.gz

-rw-r--r-- root/root         0 2012-08-30 04:03:57 staging.linux-console.net-access_log
-rw-r--r-- root/root       587 2012-08-29 18:35:12 staging.linux-console.net-access_log.1
-rw-r--r-- root/root       156 2012-01-21 07:17:56 staging.linux-console.net-access_log.2
-rw-r--r-- root/root       156 2011-12-21 11:30:56 staging.linux-console.net-access_log.3
-rw-r--r-- root/root       156 2011-11-20 17:28:24 staging.linux-console.net-access_log.4
-rw-r--r-- root/root         0 2012-08-30 04:03:57 staging.linux-console.net-error_log
-rw-r--r-- root/root      3981 2012-08-29 18:35:12 staging.linux-console.net-error_log.1
-rw-r--r-- root/root       211 2012-01-21 07:17:56 staging.linux-console.net-error_log.2
-rw-r--r-- root/root       211 2011-12-21 11:30:56 staging.linux-console.net-error_log.3
-rw-r--r-- root/root       211 2011-11-20 17:28:24 staging.linux-console.net-error_log.4

Për të renditur përmbajtjen e skedarit tar.bz2, lëshoni komandën e mëposhtme.

# 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

Për të nxjerrë një skedar të vetëm të quajtur cleanfiles.sh nga cleanfiles.sh.tar përdorni komandën e mëposhtme.

# tar -xvf cleanfiles.sh.tar cleanfiles.sh
OR
# tar --extract --file=cleanfiles.sh.tar cleanfiles.sh

cleanfiles.sh

Për të nxjerrë një skedar të vetëm tecmintbackup.xml nga skedari i arkivit tecmintbackup.tar.gz, përdorni komandën si më poshtë.

# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml
OR
# tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml

tecmintbackup.xml

Për të nxjerrë një skedar të vetëm të quajtur index.php nga skedari Phpfiles-org.tar.bz2 përdorni opsionin e mëposhtëm.

# 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

Për të nxjerrë ose hequr skedarë të shumtë nga skedari i arkivit tar, tar.gz dhe tar.bz2. Për shembull, komanda e mëposhtme do të nxjerrë skedarin 1 skedarin 2 nga skedarët e arkivit.

# 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"

Për të nxjerrë një grup skedarësh ne përdorim ekstraktimin e bazuar në shkronja të egra. Për shembull, për të nxjerrë një grup të të gjithë skedarëve, modeli i të cilëve fillon me .php nga një skedar arkivi tar, tar.gz dhe 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

Për të shtuar skedarë ose drejtori në skedarët ekzistues të arkivit tar ne përdorim opsionin r (shtoj). Për shembull, ne shtojmë skedarin xyz.txt dhe direktorinë php në skedarin ekzistues të arkivit 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

Komanda tar nuk ka një opsion për të shtuar skedarë ose drejtori në një skedar arkivi ekzistues të ngjeshur tar.gz dhe tar.bz2. Nëse provojmë do të marrim gabimin e mëposhtëm.

# 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

Për të verifikuar çdo skedar tar ose të ngjeshur të arkivuar ne përdorim opsionin W (verify). Për ta bërë këtë, thjesht përdorni shembujt e mëposhtëm të komandave. (Shënim: Ju nuk mund të bëni verifikim në një skedar arkivi të ngjeshur ( *.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/

Për të kontrolluar madhësinë e çdo skedari arkivor tar, tar.gz dhe tar.bz2, përdorni komandën e mëposhtme. Për shembull, komanda e mëposhtme do të shfaqë madhësinë e skedarit të arkivit në Kilobytes (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

  • c – krijoni një skedar arkivi.
  • x – nxjerr një skedar arkivi.
  • v – tregoni ecurinë e skedarit të arkivit.
  • f – emri i skedarit të skedarit të arkivit.
  • t – shikimi i përmbajtjes së skedarit të arkivit.
  • j – filtro arkivin përmes bzip2.
  • z – filtro arkivin përmes gzip.
  • r – shtoni ose përditësoni skedarët ose drejtoritë në skedarët ekzistues të arkivit.
  • W – Verifikoni një skedar arkivi.
  • karta të egra – Specifikoni modelet në komandën tar UNIX.

Kjo është ajo për momentin, shpresojmë që shembujt e mësipërm të komandës tar të jenë të mjaftueshëm për të mësuar, dhe për më shumë informacion ju lutemi përdorni komandën man tar.

Nëse po kërkoni të ndani çdo skedar të madh arkivi tar në pjesë ose blloqe të shumta, thjesht kaloni nëpër këtë artikull:

  • Si të ndahet skedari Tar në skedarë të shumtë me madhësi të caktuar
  • Si të shkarkoni dhe nxirrni skedarët Tar me një komandë

Nëse kemi humbur ndonjë shembull, ju lutemi ndani me ne përmes kutisë së komenteve dhe ju lutemi mos harroni ta ndani këtë artikull me miqtë tuaj. Kjo është mënyra më e mirë për të falënderuar….