Το GNU Wget είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών για τη λήψη αρχείων από τον Ιστό.
Με το Wget, μπορείτε να κάνετε λήψη αρχείων χρησιμοποιώντας πρωτόκολλα HTTP, HTTPS και FTP. Το Wget παρέχει έναν αριθμό επιλογών που σας επιτρέπουν να κάνετε λήψη πολλών αρχείων, να συνεχίσετε τις λήψεις, να περιορίσετε το εύρος ζώνης, επαναλαμβανόμενες λήψεις, να πραγματοποιήσετε λήψη στο παρασκήνιο, να αντικατοπτρίσετε έναν ιστότοπο και πολλά άλλα.
Αυτό το άρθρο δείχνει πώς να χρησιμοποιήσετε την εντολή wget μέσα από πρακτικά παραδείγματα και λεπτομερείς επεξηγήσεις των πιο κοινών επιλογών.
Εγκατάσταση του Wget
Το πακέτο wget είναι προεγκατεστημένο στις περισσότερες διανομές Linux σήμερα.
Για να ελέγξετε εάν το πακέτο Wget είναι εγκατεστημένο στο σύστημά σας, ανοίξτε την κονσόλα σας, πληκτρολογήστε wget και πατήστε enter. Εάν έχετε εγκαταστήσει το wget, το σύστημα θα εκτυπώσει το wget: λείπει URL. Διαφορετικά, θα εκτυπωθεί η εντολή wget δεν βρέθηκε.
Εάν το wget δεν είναι εγκατεστημένο, μπορείτε εύκολα να το εγκαταστήσετε χρησιμοποιώντας τον διαχειριστή πακέτων της διανομής σας.
Installing Wget on Ubuntu and Debian #
# sudo apt install wget
Installing Wget on CentOS and Fedora
# sudo yum install wget
Wget Command Syntax
Πριν προχωρήσουμε στο πώς να χρησιμοποιήσετε την εντολή wget, ας ξεκινήσουμε εξετάζοντας τη βασική σύνταξη.
Οι εκφράσεις του βοηθητικού προγράμματος wget έχουν την ακόλουθη μορφή:
wget [options] [url]
How to Download a File with wget
#
Στην απλούστερη μορφή του, όταν χρησιμοποιείται χωρίς καμία επιλογή, το wget θα κατεβάσει τον πόρο που καθορίζεται στο [url] στον τρέχοντα κατάλογο.
Στο παρακάτω παράδειγμα, κατεβάζουμε το αρχείο tar του πυρήνα του Linux:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
Όπως μπορείτε να δείτε από την παραπάνω εικόνα, το wget ξεκινά με την διεύθυνση IP του τομέα, στη συνέχεια συνδέεται στον απομακρυσμένο διακομιστή και ξεκινά τη μεταφορά.
Κατά τη λήψη, το wget εμφανίζει τη γραμμή προόδου μαζί με το όνομα του αρχείου, το μέγεθος του αρχείου, την ταχύτητα λήψης και τον εκτιμώμενο χρόνο για την ολοκλήρωση της λήψης. Μόλις ολοκληρωθεί η λήψη, μπορείτε να βρείτε το ληφθέν αρχείο στον τρέχοντα κατάλογο εργασίας σας.
Για να απενεργοποιήσετε την έξοδο, χρησιμοποιήστε την επιλογή -q.
Εάν το αρχείο υπάρχει ήδη, το wget θα προσθέσει .N (αριθμός) στο τέλος του ονόματος αρχείου.
Saving the Downloaded File Under Different Name
Για να αποθηκεύσετε το ληφθέν αρχείο με διαφορετικό όνομα, περάστε την επιλογή -O ακολουθούμενη από το επιλεγμένο όνομα:
wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip
Η παραπάνω εντολή θα αποθηκεύσει το πιο πρόσφατο αρχείο zip hugo από το GitHub ως latest-hugo.zip αντί για το αρχικό του όνομα.
Λήψη αρχείου σε συγκεκριμένο φάκελο / Directory
Από προεπιλογή, το wget θα αποθηκεύσει το ληφθέν αρχείο στον τρέχοντα κατάλογο εργασίας. Για να αποθηκεύσετε το αρχείο σε μια συγκεκριμένη τοποθεσία, χρησιμοποιήστε την επιλογή -P:
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
Η παραπάνω εντολή λέει στο wget να αποθηκεύσει το αρχείο iso CentOS 7 στον φάκελο /mnt/iso.
Περιορισμός της ταχύτητας λήψης
Για να περιορίσετε την ταχύτητα λήψης, χρησιμοποιήστε την επιλογή --limit-rate. Από προεπιλογή, η ταχύτητα μετριέται σε byte/δευτερόλεπτο. Προσθέστε k για kilobyte, m για megabyte και g για gigabyte.
Η ακόλουθη εντολή θα κατεβάσει το Go binary και θα περιορίσει την ταχύτητα λήψης στο 1MB:
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Αυτή η επιλογή είναι χρήσιμη όταν δεν θέλετε το wget να καταναλώνει όλο το διαθέσιμο εύρος ζώνης.
Συνέχιση λήψης
Μπορείτε να συνεχίσετε τη λήψη χρησιμοποιώντας την επιλογή -c. Αυτό είναι χρήσιμο εάν η σύνδεσή σας πέσει κατά τη λήψη ενός μεγάλου αρχείου και αντί να ξεκινήσετε τη λήψη από την αρχή, μπορείτε να συνεχίσετε την προηγούμενη.
Στο παρακάτω παράδειγμα, συνεχίζουμε τη λήψη του αρχείου iso του Ubuntu 18.04:
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Λήψη Standard Output
Στο παρακάτω παράδειγμα, το wget θα κατεβάσει αθόρυβα ( flag -q) και θα εξάγει την πιο πρόσφατη έκδοση του WordPress στο stdout ( flag -O -) και θα τη διοχετεύσει στο βοηθητικό πρόγραμμα tar, το οποίο θα εξαγάγει το αρχείο στον κατάλογο /var/www.
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
Συμπέρασμα
Με το wget, μπορείτε να κάνετε λήψη πολλών αρχείων, να συνεχίσετε μερικές λήψεις, να αντικατοπτρίσετε ιστότοπους και να συνδυάσετε τις επιλογές Wget σύμφωνα με τις ανάγκες σας.
Για να μάθετε περισσότερα σχετικά με το Wget, επισκεφτείτε τη σελίδα Εγχειρίδιο wget GNU.