If-Koubou

Linux QuickTip: Mengunduh dan Menghapus jejak dalam Satu Langkah

Linux QuickTip: Mengunduh dan Menghapus jejak dalam Satu Langkah (Bagaimana caranya)

Sebagian besar waktu, ketika saya mengunduh sesuatu itu adalah arsip file sejenis - biasanya tarball atau file zip. Ini bisa menjadi beberapa kode sumber untuk aplikasi yang tidak termasuk dalam pohon Portage Gentoo, beberapa dokumentasi untuk aplikasi internal perusahaan, atau bahkan sesuatu yang biasa seperti instalasi WordPress baru.

Cara tradisional untuk mengunduh dan mengambil untung sesuatu di terminal akan menjadi sesuatu seperti ini:

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

tar xvzf latest.tar.gz

rm latest.tar.gz

Atau mungkin bentuk yang lebih ringkas:

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

Either way agak canggung. Ini adalah operasi yang sangat sederhana, cangkang yang kuat seperti bash harus memungkinkan tugas semacam itu dilakukan dengan cara yang lebih "licin".

Nah, berkat perintah "curl" yang berguna, kita benar-benar dapat menyelesaikan kekacauan di atas hanya dalam satu pernyataan yang disiarkan:

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

Tidak ada file sementara yang bisa dihilangkan, tidak main-main dengan ampersand. Singkatnya, perintah yang sangat kompak dan efisien. Faktanya, dari sudut pandang teoritis, metode curl bisa lebih cepat daripada kombinasi wget / tar / rm karena stdout piping akan menggunakan RAM sebagai buffer jika mungkin, sedangkan wget dan tar (dengan -f switch) harus membaca / menulis langsung dari disk.

Kebetulan, tar dengan opsi -v (cara kita menggunakannya dalam semua contoh di atas) mencetak setiap nama file ke stdout karena masing-masing dikurangkan. Hal ini dapat menghalangi keluaran yang bagus, keluaran ncurses yang menunjukkan status unduhan. Kita dapat membungkam tar dengan memohonnya tanpa-v dengan demikian:

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

Dan hanya itu saja!