چگونه فایل یا دایرکتوری خاص از فایل های tar خارج کنیم.

چگونه فایل یا دایرکتوری خاص از فایل های tar خارج کنیم.

در این پست چگونگی ایجاد و استخراج فایل های پشتیبان گفته شد. سوئیچ های c و x به ترتیب برای ایجاد و استخراج فایل ها و سوئیج f برای تعیین نام فایل با پسوند tar و همچنین سوئیج v خروجی کاملتری را نشان می دهد. اگر بخواهید تنها لیستی از محتوای فایل را مشاهده کنید از سوئیچ t استفاده می شود. اگر نوع فایل tar.gz باشد، باید به همراه سوئیچ های c و x از سوئیچ z و اگر نوع فایل tar.bz2 باشد، باید از سوئیچ j استفاده کنید. اگر می خواهید فقط یک فایل یا دایرکتوری خاصی را از درون فایل فشرده شده خارج کنیدباید توجه داشته باشید که فایل ها و دایرکتوری هایی که آنها را درون فایل فشرده شده، ذخیره می کنیم، با path خود ذخیره می شوند. اما یعنی چی؟ فرض کنید که می خواهید از تمام محتوای دایرکتوری etc/ یک فایل tar ایجاد کنید و آنرا در دایرکتوری root/ ذخیره نمایید. برای اینکار باید دستور زیر را اجرا کنید.

*/tar cvf /root/etc_bck.tar /etc

حالا دستور زیر را اجرا کنید تا محتوای درون فایل را ببینید.

*/tar tvf /root/etc_bck.tar /etc

همانطور که در شکل زیر می بینید فایل ها و دایرکتوری ها با مسیر ذخیره شده اند.

همانطور که در تصویر بالا مشاهده می کنید، فایل ها با مسیرشان (etc/yp.conf) ذخیره شده اند و برای خارج کردن فقط یک فایل یا دایرکتوری باید مطابق با همین مسیر در تصویر بالا آنها را از حالت فشرده خارج کنیم.

  • بطور مثال برای خارج کردن فایل yp.conf از فایل در دایرکتوری خانگی از دستور زیر استفاده کنید.

tar xvf etc_bck.tar etc/yp.conf

  • برای خارج کردن تنها دایرکتوری init.d از درون فایل دستور زیر را اجرا کنید.

tar xvf etc_bck.tar etc/init.d

یا می توانید با سوئیچ C- (بزرگ) فایل ها را در مسیری دیگر، بطور مثال در دایرکتوری etc/ یا tmp/ ذخیره کنید.

tar xvf etc_bck.tar -C /tmp/ etc/yp.conf

tar xvf etc_bck.tar -C /tmp/ etc/init.d

یا اینکه می توانید از سوئیچ no-anchored– برای خلاص شدن از نوشتن کل مسیر، استفاده کنید.

‘tar -xvf etc_bck.tar  –no-anchored ‘yp.conf

‘tar -xvf etc_bck.tar  –no-anchored ‘init.d

‘tar -xvf etc_bck.tar  -C /tmp –no-anchored ‘yp.conf

‘tar -xvf etc_bck.tar  -C /tmp –no-anchored ‘init.d

همچنین برای استفاده از عبارات منظم از سوئیج wildcards– استفاده کنید.

‘tar -xvf etc_bck.tar –wildcards –no-anchored ‘*.conf

‘tar -xvf etc_bck.tar –wildcards –no-anchored ‘*.d

‘tar -xvf etc_bck.tar  -C /tmp –wildcards –no-anchored ‘*.conf

‘tar -xvf etc_bck.tar -C /tmp –wildcards –no-anchored ‘*.d