في معظم الأحيان ، عندما أنزِّل شيئًا ما ، يكون ملف أرشيفًا من نوع ما - عادةً ما يكون ملفًا تريبًا أو ملفًا مضغوطًا. قد يكون هذا بعض رموز المصدر لأحد التطبيقات التي لا يتم تضمينها في شجرة Portage في Gentoo ، أو بعض المستندات للتطبيق الداخلي للشركة ، أو حتى شيء بسيط مثل تثبيت WordPress جديد.

الطريقة التقليدية للتنزيل و untarring شيء في المحطة ستكون شيء من هذا القبيل:

wget http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz

rm latest.tar.gz

أو ربما الشكل الأكثر إحكاما:

wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz

وفي كلتا الحالتين هي قليلا أخرق. هذه هي عملية بسيطة للغاية ، وقذيفة قوية مثل باش يجب أن تسمح بمثل هذه المهمة ليتم تنفيذها بطريقة "أكثر سلاسة".

حسنًا ، وبفضل أمر صغير مفيد "curl" ، يمكننا بالفعل تحقيق الفوضى أعلاه في بيان واحد عبر الأنبوب:

curl http://wordpress.org/latest.tar.gz | tar xvz

لا ملفات مؤقتة للتخلص من ، لا تعبث حولها مع العطف. باختصار ، أمر مدمج للغاية وفعال. في الواقع ، من وجهة النظر النظرية ، يمكن أن تكون طريقة الضفيرة أسرع من فوضى wget / tar / rm المتسلسلة حيث ستستخدم أنابيب stdout ذاكرة الوصول العشوائي كمخزن مؤقت إذا كان ذلك ممكنًا ، في حين أن wget و tar (مع مفتاح ff) يجب أن يقرأ / يكتب مباشرة من القرص.

بالمناسبة ، يطرح tar مع الخيار -v (الطريقة التي نستخدمها في جميع الأمثلة المذكورة أعلاه) كل اسم ملف إلى stdout لأن كل untarred. يمكن أن يؤدي ذلك إلى ظهور إخراج حلو ncurses الذي يظهر حالة التنزيل. يمكننا إسكات القطران من خلال التذرع بها بدون -v بالتالي:

curl http://wordpress.org/latest.tar.gz | tar xz

وهذا كل ما في الأمر!

أعلى نصائح:
التعليقات: