अधिकांश समय, जब मैं कुछ डाउनलोड करता हूं तो यह किसी प्रकार का फ़ाइल संग्रह होता है - आमतौर पर एक टैरबॉल या ज़िप फ़ाइल। यह ऐप के लिए कुछ स्रोत कोड हो सकता है जो जेनेटू के पोर्टेज पेड़ में शामिल नहीं है, आंतरिक कॉरपोरेट ऐप के लिए कुछ दस्तावेज, या यहां तक कि कुछ नया वर्डप्रेस इंस्टॉलेशन के रूप में भी गूढ़ है।
टर्मिनल में कुछ डाउनलोड करने और अनारक्षित करने का पारंपरिक तरीका ऐसा कुछ होगा:
wget https://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
या शायद अधिक कॉम्पैक्ट फॉर्म:
wget https://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
किसी भी तरह से थोड़ा बेकार है। यह एक बहुत ही सरल ऑपरेशन है, बैश जैसे शक्तिशाली शेल को इस तरह के कार्य को "स्लिम" तरीके से करने की अनुमति देनी चाहिए।
खैर, उपयोगी कमांड कमांड "कर्ल" के लिए धन्यवाद, हम वास्तव में केवल एक पाइप कथन में उपरोक्त गड़बड़ी को पूरा कर सकते हैं:
curl https://wordpress.org/latest.tar.gz | tar xvz
छुटकारा पाने के लिए कोई अस्थायी फ़ाइलें नहीं, एम्परसैंड के साथ कोई गड़बड़ नहीं है। संक्षेप में, एक अत्यधिक कॉम्पैक्ट, कुशल कमांड। वास्तव में, सैद्धांतिक दृष्टिकोण से, कर्ल विधि समेकित wget / tar / rm गड़बड़ से तेज़ हो सकती है क्योंकि स्टडआउट पाइपिंग यदि संभव हो तो रैम को बफर के रूप में उपयोग करेगी, जबकि wget और tar (-f स्विच के साथ) को पढ़ना / लिखना चाहिए सीधे डिस्क से।
संयोग से, -v विकल्प के साथ टैर (जिस तरह से हम इसे उपर्युक्त उदाहरणों में उपयोग कर रहे हैं) प्रत्येक फ़ाइल नाम को stdout पर प्रिंट करता है क्योंकि प्रत्येक अनचाहे है। यह कर्ल के अच्छे, ncurses आउटपुट डाउनलोड स्थिति दिखा रहा है के रास्ते में हो सकता है। हम बिना वीवी के इसे आमंत्रित करके टैर चुप कर सकते हैं:
curl https://wordpress.org/latest.tar.gz | tar xz
और यह सब कुछ है!