Muat Turun QuickTip Linux dan Un-tarring dalam Satu Langkah
Kebanyakan masa, apabila saya memuat turun sesuatu itu adalah arkib fail sejenis - biasanya tarball atau fail zip. Ini boleh menjadi beberapa kod sumber untuk aplikasi yang tidak termasuk dalam pokok Port Gentoo, beberapa dokumentasi untuk aplikasi korporat dalaman, atau sesuatu yang biasa seperti pemasangan WordPress baru.
Cara tradisional memuat turun dan mengatasi sesuatu di terminal akan menjadi seperti ini:
wget http://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Atau mungkin bentuk yang lebih padat:
wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
Sama ada jalannya agak kekok. Ini adalah operasi yang sangat mudah, shell yang kuat seperti bash harus membenarkan tugas sedemikian dilakukan dengan cara yang lebih "licik".
Nah, terima kasih kepada perintah kecil "curl" yang berguna, kita sebenarnya dapat menyelesaikan kekacauan di atas dalam satu kenyataan pipa:
curl http://wordpress.org/latest.tar.gz | tar xvz
Tiada fail sementara untuk menyingkirkan, tidak ada kekeliruan dengan ampersands. Ringkasnya, arahan yang sangat padat dan cekap. Sebenarnya, dari sudut teori, kaedah curl boleh lebih pantas daripada rencat wget / tar / rm yang disatukan kerana paip stdout akan menggunakan RAM sebagai penimbal jika mungkin, manakala wget dan tar (dengan suis -f) mesti membaca / menulis terus dari cakera.
Secara kebetulan, tar dengan pilihan -v (cara kita menggunakannya dalam semua contoh di atas) mencetak setiap nama fail untuk stdout kerana masing-masing adalah untarred. Ini boleh mendapatkan cara curl bagus, ncurses menunjukkan status muat turun. Kita boleh menyenyapkan tar dengan menggunakannya tanpa itu:
curl http://wordpress.org/latest.tar.gz | tar xz
Dan itulah yang ada padanya!