GNU/Linux >> Belajar Linux >  >> Linux

Apakah wget atau program serupa selalu tersedia di sistem POSIX?

Daftar resmi utilitas POSIX 7

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html

Berikut ini adalah tidak hadir dalam daftar:

  • wget
  • menggulung
  • ftp

Hal yang sama berlaku untuk LSB yang pada dasarnya hanya menjamin utilitas POSIX.

Tapi menurut saya POSIX C cukup untuk mengimplementasikan sebagian besar netcat fungsionalitas, jadi ini benar-benar peluang yang terlewatkan. E.g.:Bagaimana cara membuat HTTP mendapatkan permintaan di C tanpa libcurl?

Mungkin karena protokol jaringan seperti HTTP dianggap terlalu spesifik/tidak ada pada saat POSIX masih berkembang, dan POSIX pada dasarnya membeku selamanya. Khususnya, enkripsi HTTPS sepertinya tidak mudah diterapkan.


Keriting mungkin bahkan lebih umum daripada wget. Setidaknya menurut pengalaman saya hanya karena lebih banyak alat lain yang bergantung padanya. Namun baik curl maupun wget adalah pemasangan yang sangat sederhana dan akan tersedia di sistem apa pun.


Sunting pada 04-11-2019:Saya menulis ulang jawaban saya untuk mencerminkan pentingnya memastikan bahwa transfer tidak dirusak saat dalam penerbangan. Saya akan meninggalkan jawaban asli saya di bawah aturan.

Saya sarankan menggunakan rsync lebih dari ssh untuk mentransfer file Anda. rsync antarmuka mungkin terlihat luar biasa, tetapi sebagian besar pengguna mungkin dapat memilih rsync -avzP , dan jika Anda membutuhkan lebih banyak fleksibilitas, rsync dapat beradaptasi. Menggunakan ssh akan memberikan integritas, keaslian, dan privasi ke koneksi Anda.

curl adalah standar de facto untuk transfer http; jika http biasa atau https lebih disukai, curl atau alat berdasarkan curl mungkin merupakan pilihan yang bagus.

Dalam pengalaman saya, alat tersedia dalam urutan ini:

  • wget
  • curl
  • sftp
  • ftp
  • GET (Saya menggunakan HEAD sepanjang waktu dan sering lupa bahwa ini hanyalah salah satu alat di suite)
  • tftp
  • nc (tidak biasa seperti yang saya inginkan)
  • socat (bahkan lebih jarang)

bash /dev/tcp alat tersedia di sebagian besar sistem yang saya gunakan (beberapa menggunakan dash atau pdksh sebagai gantinya), tetapi menggunakan echo dengan bash , nc , atau socat berjalan jauh untuk akses HTTP -- Anda harus menangani header entah bagaimana , yang mengurangi keanggunannya.


gnu awk (gawk) telah membuat penanganan TCP bahkan pada sistem non-linux http://www.gnu.org/software/gawk/manual/gawkinet/html_node/


Linux
  1. Dapatkan URL final setelah curl dialihkan

  2. Menggunakan WGET untuk menjalankan cronjob PHP

  3. melakukan permintaan HTTP dengan cURL (menggunakan PROXY)

  1. Skrip Linux dengan curl untuk memeriksa layanan web sudah habis

  2. Periksa keberadaan wget/curl

  3. Bagaimana saya bisa melakukan HTTP PUT dengan Wget?

  1. Pada Sistem Apa //foo/bar Berbeda Dari /foo/bar?

  2. Manakah Yang Paling Portabel Dari Sed, Awk, Perl Dan Sh?

  3. Linux - bagaimana memformat banyak sistem file dalam satu file?