Ich benötige Dateien zum Herunterladen nach / tmp / cron_test /. Mein Wget-Code ist
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Gibt es also einen Parameter, um das Verzeichnis anzugeben?
Ich benötige Dateien zum Herunterladen nach / tmp / cron_test /. Mein Wget-Code ist
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Gibt es also einen Parameter, um das Verzeichnis anzugeben?
Antworten:
Von der Handbuchseite:
-P prefix
--directory-prefix=prefix
Set directory prefix to prefix. The directory prefix is the
directory where all other files and sub-directories will be
saved to, i.e. the top of the retrieval tree. The default
is . (the current directory).
Sie müssen also Ihrem Befehl -P /tmp/cron_test/
(Kurzform) oder --directory-prefix=/tmp/cron_test/
(Langform) hinzufügen . Beachten Sie auch, dass das Verzeichnis erstellt wird, wenn es nicht vorhanden ist.
--no-host-directories
oder -nH
gemäß serverfault.com/questions/354792/…
-O ist die Option, um den Pfad der Datei anzugeben, in die Sie herunterladen möchten.
wget <file.ext> -O /path/to/folder/file.ext
-P ist das Präfix, mit dem die Datei im Verzeichnis heruntergeladen wird
wget <file.ext> -P /path/to/folder
/path/to/folder/
dort zu schaffen
-O
was ich nicht brauchte, aber ich fühlte mich sicherer, dass -P
es das war, was ich brauchte.
-O
Überschreibungen -P
, daher können Sie nicht nur das Ausgabeverzeichnis angeben (think dirname
und nur den Dateinamen ausgeben (think basename
). Verwenden Sie dazu nur den -O
vollständigen Dateipfad.
Stellen Sie sicher, dass Sie die richtige URL für alles haben, was Sie herunterladen. Erstens können URLs mit Zeichen wie ?
und so nicht analysiert und aufgelöst werden. Dies verwirrt die cmd-Zeile und akzeptiert alle Zeichen, die nicht in den Quell-URL-Namen aufgelöst wurden, als den Dateinamen, in den Sie herunterladen.
Zum Beispiel:
wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"
wird in eine Datei mit dem Namen , ?source=typ_redirect
.
Wie Sie sehen können, hilft es, ein oder zwei Dinge über URLs zu wissen wget
.
Ich boote von einer Hirens-Festplatte und hatte nur Linux 2.6.1 als Ressource (Import-Betriebssystem ist nicht verfügbar). Die richtige Syntax, die mein Problem beim Herunterladen einer ISO auf die physische Festplatte löste, war:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Sie können die richtige URL ermitteln, indem Sie herausfinden, an welcher Stelle wget
in eine Datei mit dem Namen index.html
(die Standarddatei) heruntergeladen wird , und die richtige Größe / andere Attribute der benötigten Datei mit dem folgenden Befehl anzeigen:
wget "(source url)"
Sobald diese URL und Quelldatei korrekt sind und in sie heruntergeladen werden index.html
, können Sie den Download stoppen ( ctrl+ z) und die Ausgabedatei ändern, indem Sie Folgendes verwenden:
-O "<specified download directory>/filename.extension"
nach der Quell-URL.
In meinem Fall führt dies dazu, dass eine ISO heruntergeladen und als Binärdatei unter gespeichert wird isofile.iso
, die hoffentlich bereitgestellt wird.
"-P" ist die richtige Option. Bitte lesen Sie weiter, um weitere Informationen zu erhalten:
wget -nd -np -P / dest / dir --rekursives http: // url / dir1 / dir2
Relevante Ausschnitte aus Manpages zur Vereinfachung:
-P prefix
--directory-prefix=prefix
Set directory prefix to prefix. The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree. The default is . (the current directory).
-nd
--no-directories
Do not create a hierarchy of directories when retrieving recursively. With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the
filenames will get extensions .n).
-np
--no-parent
Do not ever ascend to the parent directory when retrieving recursively. This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.
man wget: -O Datei --output-document = Datei
wget "url" -O /tmp/cron_test/<file>