Saya menggunakan Wget untuk membuat permintaan http ke server web baru. Saya melakukan ini untuk menghangatkan cache MySQL. Saya tidak ingin menyimpan file setelah disajikan.
wget -nv -do-not-save-file $url
Bisakah saya melakukan sesuatu -do-not-save-file
dengan wget?
Jawaban:
Gunakan
q
flag untuk mode senyap, dan kirimwget
ke keluaran ke stdout denganO-
(huruf besar o) dan redirect ke/dev/null
untuk membuang output:wget -qO- $url &> /dev/null
>
pengalihan output aplikasi (ke file). jika>
didahului oleh ampersand, shell mengarahkan ulang semua output (error dan normal) ke kanan file>
. Jika Anda tidak menentukan ampersand, maka hanya output normal yang dialihkan.jika file
/dev/null
maka semua dibuang.Ini juga berfungsi, dan lebih sederhana:
sumber
Curl melakukannya secara default tanpa parameter atau flag, saya akan menggunakannya untuk tujuan Anda:
Curl lebih tentang aliran dan wget lebih banyak tentang menyalin situs berdasarkan perbandingan ini .
sumber
>/dev/null
pengalihan pertama std keluar ke / dev / null (>/dev/null
kependekan dari1>/dev/null
), pengalihan kedua std err untuk std out.>foo
diartikan sebagai1>foo
. Ketika&
mengikuti pengalihan, itu memerintahkan shell untuk mengarahkan kembali deskriptor file yang sebelumnya ke output yang sama seperti yang nanti. Dalam hal ini,2>&1
kata redirect file deskriptor 2 (std err) ke tempat yang sama dengan deskriptor file 1 (std out). Karena std out sudah diarahkan ke / dev / null, std err juga akan diarahkan ke sana. Anda juga bisa menulis:1>/dev/null 2>/dev/null
atau2>/dev/null >&2
.curl http://www.example.com
sudah cukup.Anda dapat menggunakan
-O-
(huruf besar o) untuk mengarahkan konten ke stdout (output standar) atau ke file (bahkan file khusus seperti/dev/null
/dev/stderr
/dev/stdout
)Atau:
Atau: (hasil yang sama dengan perintah terakhir)
sumber