GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwende ich Wget, um rekursiv Dateien aus einem Webverzeichnis herunterzuladen?

Frage: Die Intranet-Website meines Unternehmens hostet GB an Software-Tools und Anwendungen. Ich habe versucht, all diese über den wget-Befehl herunterzuladen und dennoch die gleiche Verzeichnisstruktur beibehalten (das Quellverzeichnis hat Tools in verschiedenen Kategorien organisiert, die ich gerne gleich behalte). Hier ist ein Beispiel für das Intranet-Webverzeichnis – http://intranet.company.com/software-tools/ . Die „Software-Tools“ sind das Verzeichnis, das viele Unterverzeichnisse und Dateien enthält. Ich möchte alle diese rekursiv mit dem Befehl wget herunterladen. Aber ich kann anscheinend nicht die richtigen Optionen für wget finden? Kann mir jemand von techglimpse helfen? – Naveen.

Antwort:

wget ist das Befehlszeilenprogramm zum Herunterladen von Dateien von einem entfernten Webserver. Sie können damit eine bestimmte Datei herunterladen, ein Verzeichnis durchlaufen (ich meine, rekursiv) und auch Dateien aus Unterverzeichnissen herunterladen.

wget rekursiver Download

# wget  -r http://intranet.company.com/software-tools/

Der obige Befehl lädt alle Dateien und Verzeichnisse im Verzeichnis „Software-Tools“ herunter. Denken Sie jedoch daran, dass auch die Datei „index.html“ im Verzeichnis „software-tool“ und in Unterverzeichnissen heruntergeladen wird. Um dies zu vermeiden, müssen Sie die Ablehnungsoption mit dem Wert „index.html“ verwenden.

Wget-Ablehnungsoption

# wget  -r --reject "index.html*" http://intranet.company.com/software-tools/

Hinweis: Die rekursive Option für wget funktioniert nur, wenn die Verzeichnisauflistung vom Webserver zugelassen wurde.

Beispielausgabe:

::::::::::::::::::::::::::
 Removing intranet.company.com/software-tools/index.html?C=M;O=D since it should be rejected.
 ::::::::::::::::::::::::::

Wechseln Sie nicht zum übergeordneten Verzeichnis, während Sie rekursiv mit wget herunterladen

Wenn Sie nicht möchten, dass wget dem Link im Verzeichnisindex folgt und zum übergeordneten Verzeichnis aufsteigt, sollte die Option „–no-parent“ wie unten verwendet werden.

wget -r --no-parent --reject "index.html*" http://intranet.company.com/software-tools/

Weitere Informationen finden Sie bei man wget.


Linux
  1. So laden Sie Dateien vom SFTP-Server mit Python-Skript herunter

  2. Wie kann ich Dateien aus einem UNIX-Shell-Skript per FTP übertragen und herunterladen?

  3. wget vs curl:So laden Sie Dateien mit wget und curl herunter

  4. Wie verwendet man den Befehl „mv“, um Dateien außer denen in einem bestimmten Verzeichnis zu verschieben?

  5. Wie listet man kürzlich gelöschte Dateien aus einem Verzeichnis auf?

Verwendung des wget-Befehls mit Beispielen

So laden Sie Dateien/Verzeichnisse mit sFTP unter Linux hoch oder herunter

So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

So laden Sie Dateien von Remote-Linux-Servern herunter

So laden Sie Dateien mit dem Wget-Befehl unter Linux herunter

Wie man Dateien in Linux rekursiv auflistet