Çoğu zaman, bir şey indirdiğimde, bir çeşit dosya arşividir - genellikle bir tarball veya bir zip dosyasıdır. Bu, Gentoo’nun Portage ağacında yer almayan bir uygulama için bazı kaynak kodlar, dahili bir şirket uygulaması için bazı belgeler veya yeni bir WordPress kurulumu kadar sıradan bir şey olabilir.

Terminalde bir şeyi indirmenin ve bozmanın geleneksel yolu şöyle bir şey olurdu:

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

tar xvzf latest.tar.gz

rm latest.tar.gz

Ya da belki daha kompakt biçim:

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

Her iki şekilde de biraz beceriksiz. Bu çok basit bir işlem, bash gibi güçlü bir kabuk, böyle bir görevin daha “kaygan” bir şekilde yapılmasına izin vermelidir.

İyi bir küçük komut olan “kıvrım” sayesinde, yukarıdaki karışıklığı sadece bir piped ifadesinde gerçekleştirebiliriz:

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

Kurtulmak için geçici bir dosya yok, ve işareti yok. Kısacası, son derece kompakt, verimli bir komut. Aslında, teorik bir bakış açısıyla, kıvrılma yöntemi birleştirilmiş wget / tar / rm karışıklığından daha hızlı olabilir çünkü stdout boruları mümkünse RAM'i bir tampon olarak kullanacaktır, oysa wget ve katran (-f anahtarı ile) okuma / yazma doğrudan bir diskten.

Bu arada, -v seçeneğine sahip katran (yukarıdaki tüm örneklerde kullandığımız gibi), her bir dosya adının, her biri düzenlenmemiş olduğu için stdout'a yazdırır. Bu, curl’ın indirme durumunu gösteren ncurses’ın çıktısına yol açabilir. Katranı şu şekilde -v 'olmadan çağırıp durdurabiliriz:

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

Ve hepsi bu kadar var!

En İpuçları:
Yorumlar: