Λήψη αρχείων με wget
Ίσως ο διακομιστής σας X έχει καταρρεύσει. Ή εργάζεστε σε ένα script κελύφους. Ή είστε SSHed σε ένα server χωρίς κεφάλια. Για έναν ή άλλο λόγο, εάν πρέπει να μεταφέρετε ένα αρχείο και το πρόγραμμα περιήγησης ιστού δεν είναι μια επιλογή, ίσως να θέλετε να εξετάσετε το wget. Εάν έχετε χρησιμοποιήσει πολύ το κέλυφος Linux και έχετε δουλέψει με σενάρια ή προγράμματα εγκατάστασης πακέτων, υπάρχει μια καλή πιθανότητα να έχετε δει wget σε δράση. Στο απλούστερο επίπεδο, κάνει ακριβώς αυτό που υπονοεί το όνομα και παίρνει ένα αρχείο από τον ιστό (ή FTP). Κάτω από αυτό, όμως, είναι κάποια έξυπνη λειτουργικότητα.
Τα βασικά
Όπως σημειώθηκε παραπάνω, το wget χρησιμοποιείται πιο συχνά για να αρπάξει γρήγορα ένα αρχείο από κάπου στον ιστό.
wget http://mydomain.com/file.zip
Που θα αρπάξει απλά το αρχείο και θα το αποθηκεύσει στον τρέχοντα κατάλογο.
Αν θέλετε να αποθηκεύσετε σε διαφορετικό όνομα αρχείου ή διαφορετική τοποθεσία, χρησιμοποιείτε τη σημαία -O.
#Να θυμάστε ότι είναι ένα κεφάλαιο "O" όχι μηδέν ή μικρό "o" wget http://download.maketecheasier.com/Firefox_shortcut_keys.pdf -O Documents / ffkeys.pdf
Μπορεί να κάνετε λήψη πολλών αρχείων, οπότε μπορεί να θέλετε να καθορίσετε μια θέση για όλες τις λήψεις. Απλά χρησιμοποιήστε τη σημαία -P (ή -directory-prefix = LOCATION ) για να καθορίσετε πού πηγαίνουν.
Όπως μπορείτε να δείτε, αυτό είναι πολύ έξοδο. Ας δοκιμάσουμε την επιλογή -q για να την καθαρίσουμε, κάνοντάς την πιο κατάλληλο για σενάρια.
wget -q http://mydomain.com/file.zip
Ομοίως, μπορείτε να χρησιμοποιήσετε την επιλογή -nv μόνο για λίγο, αλλά όχι τόσο όσο η προεπιλογή.
Φανταστικά πράγματα
Τι γίνεται αν η λήψη σας απέτυχε και θέλετε να συνεχίσετε; Τι γίνεται αν το αρχείο υπάρχει ήδη και δεν θέλετε να το αντικαταστήσετε; Υπάρχουν επιλογές για την αντιμετώπιση αυτών καθώς και αρκετές άλλες καταστάσεις.
Για να συνεχίσετε μια κατεστραμμένη λήψη, θα χρησιμοποιούσατε τη σημαία -c (ή -continuue )
Εάν πρέπει να βεβαιωθείτε ότι η εντολή σας (ή το σενάριο) δεν αντικαταστήσει κανένα υπάρχον αρχείο, χρησιμοποιήστε την επιλογή -nc (για no-clobber)
Υπάρχουν φορές που δεν μπορείτε να είστε βέβαιοι εάν τα ονόματα των αρχείων θα είναι ευαίσθητα σε πεζούς και στις δύο άκρες, αλλά η σημαία -για περίπτωση υπογραφής θα αρνηθεί αυτό το πρόβλημα.
Για να περιορίσετε το ρυθμό λήψης, χρησιμοποιήστε την επιλογή -limit-rate = RATE, όπως φαίνεται παρακάτω.
wget --limit-rate = 20000 http://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso
Επιλογές FTP
Όπως σημειώθηκε νωρίτερα, το wget υποστηρίζει και το FTP. Αν καθορίζετε ακριβώς μια τοποθεσία FTP, όπως
wget ftp://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso
Το wget θα υποθέσει ότι θέλετε ανώνυμη σύνδεση. Εάν δεν συμβαίνει αυτό, μπορείτε να ορίσετε μη αυτόματα τα στοιχεία όπως το όνομα χρήστη και τον κωδικό πρόσβασης με τις ακόλουθες σημαίες:
- -ftp-user = USER Καθορίζει το όνομα χρήστη για σύνδεση
- -ftp-password = PASS Καθορίζει τον κωδικό πρόσβασης
- -passive-ftp Απενεργοποιεί τη λειτουργία παθητικής μεταφοράς.
Εκτός από μερικές άλλες για περιπτώσεις προηγμένης χρήσης.
Χρονικά όρια, επαναλήψεις και αποτυχημένες λήψεις
Τέλος, το wget συνοδεύεται από πολλές επιλογές σχετικά με προβλήματα σύνδεσης διακομιστή και χρονικά όρια. Όχι όλες οι αποτυχίες μπορούν να αντιμετωπιστούν φυσικά, αλλά οι ακόλουθες σημαίες προορίζονται να βοηθήσουν στην αντιμετώπιση προβλημάτων διακομιστή:
- -tries = NUMBER Καθορίστε τον αριθμό των φορών για να ξαναδοκιμάσετε τη λήψη
- -retry-connrefused Επαναλάβετε τη λήψη ακόμη και αν η σύνδεση απορριφθεί από το διακομιστή.
- -continuue Συνεχίζει μια μη ολοκληρωμένη λήψη, που χρησιμοποιείται ως -c παραπάνω
- -timeout = SECONDS Παγκόσμια ρύθμιση - πόσο καιρό να περιμένετε πριν από τα χρονικά όρια
- -wait = SECONDS Πόση ώρα θα περιμένετε μεταξύ των επιτυχημένων λήψεων (αν επαναλαμβάνεται)
συμπέρασμα
Για ένα τόσο απλό, βασικό, ενσωματωμένο βοηθητικό πρόγραμμα, το wget έχει ένα εκπληκτικό ποσό για προσφορά. Την επόμενη φορά που θα βρεθείς να γράψεις ένα σενάριο κελύφους στο Internet, ή να χρειαστείς να πάρεις εκείνο το αρχείο οδηγού που λείπει στον σπασμένο υπολογιστή σου, δώσε wget έναν πυροβολισμό. Αν έχετε ενδιαφέρουσες ιστορίες σχετικά με το πώς το wget σας έφερε από μια μαρμελάδα, ενημερώστε μας στα σχόλια παρακάτω.