اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

18 نمونه از دستور TAR در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    18 نمونه از دستور TAR در لینوکس

    دستور TAR در Linux مخفف Tape ARchive برای فشرده سازی فایل ها می باشد که بسیاری از ادمین های لینوکس به منظور جلوگیری از استفاده ی tape های قدیمی مخصوص بک آپ گیری از این دستور بهره می برند. دستور tar برای باز کردن مجموعه ای از فایل ها و دایرکتوری های آرشیو فشرده شده که به صورت tarball یا tar ،gzip و bzip در linux استفاده می شود کاربرد دارد. tar به طور گسترده برای ایجاد فایل های آرشیو فشرده استفاده می شود و به راحتی از دیسکی به دیسک دیگر و از ماشینی به ماشین دیگر منتقل می شود.

    در این مقاله ما به بحث و بررسی انواع مثال های tar و چگونگی ایجاد فایل های آرشیو با استفاده از فشرده سازی (tar ،tar.gz و tar.bz2)، چگونگی استخراج فایل آرشیو، چگونگی استخراج یک فایل، نمایش محتویات فایل، بررسی یک فایل، اضافه کردن فایل ها و یا دایرکتوری ها به فایل آرشیو، تخمین سایز فایل آرشیو و ... خواهیم پرداخت.


    همچنین توصیه میشود مطالعه کنید :

    فشرده سازی فایل ها در لینوکس با bzip2 - gzip - zip - tar

    5 ابزار جهت فشرده سازی فایل ها از طریق خط فرمان در لینوکس - قسمت اول

    DTRX - ابزاری هوشمند جهت Extract کردن فایل های فشرده در لینوکس (ارباب حلقه ها)

    نحوه ی بک آپ گرفتن و فشرده سازی فایل ها و دایرکتوری ها و جستجوی فایل ها در لینوکس

    دستور bzip2 برای فشرده سازی (Compress / Decompress) یک فایل .bz2 در لینوکس

    دستور Rsync در لینوکس برای بک آپ گیری و انتقال فایل ها تحت شبکه


    هدف اصلی این آموزش فراهم کردن مثال های متنوع از دستور tar است که ممکن است برای فهمیدن و مهارت یافتن شما در دستکاری آرشیوهای tar مفید باشد.


    1. ایجاد فایل آرشیو tar

    مثال دستور زیر یک فایل آرشیو tar را با نام linux-zone-14-09-12.tar در داخل دایرکتوری /home/ linux-zone ایجاد خواهد کرد. مثال عملی زیر را نگاه کنید.
    کد PHP:
    # tar -cvf linux-zone-14-09-12.tar /home/linux-zone/

    /home/linux-zone/
    /
    home/linux-zone/cleanfiles.sh
    /home/linux-zone/openvpn-2.1.4.tar.gz
    /home/linux-zone/tecmint-14-09-12.tar
    /home/linux-zone/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
    /home/linux-zone/rpmforge-release-0.5.2-2.el5.rf.i386.rpm 
    بیایید در مورد آپشن های استفاده شده در دستور بالا بحث کنیم.
    آپشن C – : فایل آرشیو .tar جدیدی را ایجاد می کند.
    آپشن V – : توضیحات اضافی در طول پروسه فایل .tar را نشان می دهد.
    آپشن F – : نام فایل .tar می باشد.


    2. ایجاد فایل آرشیو tar.gz

    برای ایجاد یک فایل آرشیو فشرده gzip از آپشن z استفاده می کنیم. به طور مثال دستور زیر فایل فشرده MyImages-14-09-12.tar.gz را برای دایرکتوری /home/MyImages ایجاد می کند.

    نکته : tar.gz و tgz شبیه هم هستند.
    کد PHP:
    # 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

    Bz2 فایل آرشیو را کمتر از سایز gzip فشرده و آرشیو می کند. فشرده سازی bz2 در مقایسه با gzip بیشتر اوقات زمان کمتری جهت فشرده سازی و از حالت فشرده خارج کردن فایل ها میبرد.

    برای ایجاد فایل tar فشرده ما از آپشن j استفاده می کنیم. مثال زیر فایل Phpfiles-org.tar.bz2 را از دایرکتوری /home/php ایجاد خواهد کرد.

    نکته : tar.bz2 و tbz همانند tb2 هستند.
    کد PHP:
    # 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. untar کردن فایل tar آرشیو شده

    برای untar کردن و یا اکسترکت از فایل tar، کافی است همانند دستور زیر آپشن x(extract) را بکار ببرید. برای مثال دستور زیر فایل public_html-14-09-12.tar را در همان دایرکتوری untar خواهد کرد. اگر شما می خواهید آن را در دایرکتوری دیگری untar کنید از آپشن –c استفاده کنید.
    کد PHP:
    ## 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. Uncompress کردن فایل tar.gz

    برای از فشرده خارج کردن فایل tar.gz، فقط دستور زیر را اجرا کنید. اگر می خواهید در مسیر دیگری untar کنید ،از آپشن –c و مسیر دایرکتوری استفاده کنید. مثال زیر را نگاه کنید.
    کد PHP:
    # 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. Uncompress کردن فایل tar.bz2

    برای از فشرده خارج کردن فایل tar.bz2، فقط دستور زیر را اجرا کنید. دستور مثال زیر تمامی فایل های .flv را از فایل آرشیو untar خواهد کرد.
    کد PHP:
    # 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

    برای لیست کردن محتوای فایل آرشیو tar، دستور زیر را با آپشن t اجرا کنید. دستور زیر محتویات فایل uploadprogress.tar را لیست می کند.
    کد PHP:
    # 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

    دستور زیر را برای لیست کردن محتوای فایل tar.gz استفاده کنید.
    کد PHP:
    # tar -tvf staging.linux-zone.org.tar.gz

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

    9. لیست کردن محتویات فایل آرشیو tar.bz2

    دستور زیر را برای لیست کردن محتوای فایل tar.bz2 استفاده کنید.
    کد PHP:
    # 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. untar کردن یک فایل از فایل tar

    برای استخراج یک فایل به نام cleanfiles.sh از فایل cleanfiles.sh.tar دستور زیر را استفاده کنید.
    کد PHP:
    # tar -xvf cleanfiles.sh.tar cleanfiles.sh
    OR
    # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh

    cleanfiles.sh 

    11. untar کردن یک فایل از فایل tar.gz

    برای استخراج یک فایل به نام linuxbackup.xml از فایل linuxbackup.tar.gz دستور زیر را استفاده کنید.
    کد PHP:
    # tar -zxvf linuxbackup.tar.gz linuxbackup.xml
    OR
    # tar --extract --file=linuxbackup.tar.gz linuxbackup.xml

    linuxbackup.xml 

    12. untar کردن یک فایل از فایل tar.bz2

    برای استخراج یک فایل به نام index.php از فایل Phpfiles-org.tar.bz2 دستور زیر را استفاده کنید.
    کد PHP:
    # 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. untar کردن چندین فایل ازفایل tar،tar.gz و tar.bz2

    چندین فایل از فایل tar، tar.gz و tar.bz2 استخراج کنید. به عنوان مثال دستور زیر “file1” و “file2” را از فایل آرشیو استخراج می کند.
    کد PHP:
    # tar -xvf tecmint-14-09-12.tar "file 1" "file 2"

    # tar -zxvf MyImages-14-09-12.tar.gz "file 1" "file 2"

    # tar -jxvf Phpfiles-org.tar.bz2 "file 1" "file 2" 

    14. Extract گروهی از فایل ها با استفاده از wildcard

    برای استخراج گروهی از فایل ها ما از wildcard استفاده می کنیم. برای مثال برای استخراج گروهی از فایل ها با الگوی یکسان .php از فایل tar و tar.bz2 و tar.gz به صورت زیر عمل کنید.
    کد PHP:
    # 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

    برا ی اضافه کردن فایل ها و دایرکتوری ها به فایل tar آرشیو موجود، از گزینه ی r(append) استفاده می کنیم. برای مثال ما فایل xyz.txt و دایرکتوری php را به فایل موجود linuz-zone-14-09-12.tar اضافه خواهیم کرد.
    کد PHP:
    # tar -rvf linux-zone-14-09-12.tar xyz.txt

    # tar -rvf linux-zone-14-09-12.tar php

    drwxr-xr-x root/root         0 2012-09-15 02:24:21 home/linux-zone/
    -
    rw-r--r-- root/root  15740615 2012-09-15 02:23:42 home/linux-zone/cleanfiles.sh
    -rw-r--r-- root/root    863726 2012-09-15 02:23:41 home/linux-zone/openvpn-2.1.4.tar.gz
    -rw-r--r-- root/root  21063680 2012-09-15 02:24:21 home/linux-zone/linux-zone-14-09-12.tar
    -rw-r--r-- root/root   4437600 2012-09-15 02:23:41 home/linux-zone/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
    -rw-r--r-- root/root     12680 2012-09-15 02:23:41 home/linux-zone/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 ندارد. اگر ما این دستور را اجرا کنیم با خطای زیر مواجه می شویم.
    کد PHP:
    # tar -rvf MyImages-14-09-12.tar.gz xyz.txt

    # tar -rvf Phpfiles-org.tar.bz2 xyz.txt

    tarThis does not look like a tar archive
    tar
    Skipping to next header
    xyz
    .txt
    tar
    Error exit delayed from previous errors 

    17. چگونگی بررسی (Verify) فایل آرشیو tar، tar.gz و tar.bz2

    برای بررسی هر فایل tar و فشرده ای از آپشن w استفاده می کنیم. برای انجام این کار از دستور مثال زیر استفاده کنید.

    نکته : شما فایل های tar.gz و tar.bz2 را بررسی کنید.
    کد PHP:
    # tar tvfW linux-zone-14-09-12.tar

    tarThis does not look like a tar archive
    tar
    Skipping to next header
    tar
    Archive contains obsolescent base-64 headers
    tar
    VERIFY FAILURE30740 invalid headers detected
    Verify 
    -rw-r--r-- root/root    863726 2012-09-15 02:23:41 /home/linux-zone/openvpn-2.1.4.tar.gz
    Verify 
    -rw-r--r-- root/root  21063680 2012-09-15 02:24:21 /home/linux-zone/linux-zone-14-09-12.tar
    tar
    : /home/linux-zone/linux-zone-14-09-12.tarWarningCannot statNo such file or directory
    Verify 
    -rw-r--r-- root/root   4437600 2012-09-15 02:23:41 home/linux-zone/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
    tar
    : /home/linux-zone/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpmWarningCannot statNo such file or directory
    Verify 
    -rw-r--r-- root/root     12680 2012-09-15 02:23:41 home/linux-zone/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
    tar
    : /home/linux-zone/rpmforge-release-0.5.2-2.el5.rf.i386.rpmWarningCannot statNo 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 ،tar.gz و tar.bz2

    برای چک کردن سایز فایل آرشیو tar ،tar.gz و tar.bz2 از دستور زیر استفاده کنید. به عنوان مثال دستور زیر سایز فایل آرشیو را به کیلوبایت نشان می دهد.
    کد PHP:
    # tar -czf – linux-zone-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
    c- : ایجاد یک فایل آرشیو
    x- : استخراج فایل آرشیو
    v- : نمایش پروسه فایل آرشیو
    f- : نام فایل آرشیو
    T- : نمایش محتویات فایل آرشیو
    j- : فیلتر کردن آرشیو از bzip2
    z- : فیلتر کردن آرشیو ازgzip
    r- : اضافه یا آپدیت فایل ها یا دایرکتوری ها به فایل آرشیو موجود
    w- : بررسی یک فایل آرشیو
    Wildcard- : الگوهای بخصوص در دستور tar در لینوکس


    همچنین توصیه میشود مطالعه کنید.

    فشرده سازی فایل ها در لینوکس با دستور zip و اکسترکت کردن در یک دایرکتوری خاص

    آموزش دستور rar برای unzip - extract و compress فایل های لینوکس


    امیدوریم که مثال های بالا در مورد دستور tar برای شما مفید و قابل استفاده باشد، برای اطلاعات بیشتر از دستور man tar استفاده نمایید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 12-08-2019, 08:03 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X