کالج اورست : اولین آموزشگاه تخصصی هوش مصنوعی، برنامه نویسی، شبکه و کامپیوتر در کرج با بیش از 17000 فارغ التحصیل (تاسیس 1388 )
دستور cpio نیز همانند دستور tar در لینوکس برای آرشیو کردن فایل مورد
استفاده قرار می گیرد.همچنین در سناریوهای گرفتن بک آپ از فایل ها و فولدرهای یک
مسیر خاص مورد استفاده قرار می گیرد.در صورتی که بخواهیم چندین فایل و فولدر را در
لینوکس به صورت تنها یک فایل آرشیو داشته باشیم از دستور cpio
استفاده
می شود
این دستور از ورودی استاندارد آدرس یکسری فایل و فولدر را
می گیرد و بعد از اینکه آرشیو را ایجاد کرد آن را در خروجی استاندارد می ریزد به
مثال زیر توجه نمایید
Find /etc/apache2 | cpio –o >
test.cpioدستور more
در لینوکس
در مثال فوق دستور find در لینوکس تمامی فایل ها وفولدرهای
مسیر /etc/apache2 را در ورودی می گیرد سپس توسط دستور pipe آن را به دستور cpio
می دهد آرشیو انجام می
شود و در نهایت خروجی در یک فایل ای بنام test.cpio قرار می گیرد که همان فایل ارشیو
شده ما می باشد
حال در صورتی که تمامی فایل ها و فولدرهای مسیر
/etc/apache2 حذف گردد با دستور cpio
می توان مجدد تمامی فایل
های حذف شده را به همان مسیر اصلی اکسترکت کرد.
Rm –rf /etc/apache2/*
Cpio –id < test.cpio
با آپشن –d تمامی فولدرها در زمان اکسترکت نیز ایجاد می شود چون به
صورت پیش فرض در زمان اکسرکت کردن توسط دستور cpio فولدر ها ایجاد نمی شود
نکته بسیار مهمی که بایستی دقت داشته باشیم این است که در
استفاده از دستور cpio نمی توانیم مشخص نماییم که فایل ها در یک مسیر خاصی
extract شوند.در زمان ورودی دادن
بایستی دقت کنیم در صورتی که مسیرها با / آغاز گردند(absolute path) در زمان اکسترکت هم به همان مسیر
اولیه فایل ها اکسترکت خواهند شد در صورتی که مسیرها بدون / شروع شوند(relative
path ) عمل اکسترکت در همان مسیر
جاری (دایرکتوری جاری ) extract خواهند شد
در ادامه مثالی را بررسی می کنیم.مسیرهای ما در این مثال relative
هستند
Cd /
Find etc/apache2 | cpio –o >
apache2.cpio
حال در صورتی که بخواهیم عمل extract را انجام دهیم با توجه به اینکه در
زمان ورودی مسیرهای ما relative بودند در مسیر اولیه یعنی etc/apache2 اکسترکت نخواهند شد بلکه در همان
دایرکتوری و مسیر جاری extract خواهند شد.