Linux QuickTip Downloading و Un-tarring in One Step
في معظم الأحيان ، عندما أقوم بتنزيل شيء ما ، فإنه عبارة عن أرشيف ملفات من نوع ما - عادةً ما يكون ملفًا تريبًا أو ملفًا مضغوطًا. قد يكون هذا بعض رموز المصدر للتطبيق الذي لم يتم تضمينه في شجرة 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" ، يمكننا بالفعل تحقيق الفوضى أعلاه في بيان واحد عبر الأنبوب:
حليقة http://wordpress.org/latest.tar.gz | القطران xvz
لا ملفات مؤقتة للتخلص من ، لا تعبث مع العطف. باختصار ، أمر مدمج للغاية وفعال. في الواقع ، من وجهة النظر النظرية ، يمكن أن تكون طريقة الضفيرة أسرع من الفوضى wget / tar / rm المسلسلة منذ أن تستخدم الأنابيب المعيارية ذاكرة الوصول العشوائي كمخزن مؤقت إذا كان ذلك ممكنًا ، في حين أن wget وقطران (مع مفتاح -f) يجب أن يقرأ / يكتب مباشرة من القرص.
بالمناسبة ، القطران مع الخيار -v (الطريقة التي نستخدمها في جميع الأمثلة المذكورة أعلاه) طباعة كل اسم ملف إلى stdout لأن كل untarred. هذا يمكن أن تحصل في طريق جميل ، ناتج ncurses يظهر حالة التنزيل. يمكننا إسكات القطران من خلال التذرع بها بدون -v بالتالي:
حليقة http://wordpress.org/latest.tar.gz | القطران xz
وهذا كل ما في الأمر!