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

Tipps und Tricks für curl und wget

Die *nix-Befehle curl und wget sind nützlich, um auf URLs zuzugreifen, ohne auf einen Browser zurückzugreifen. Mit beiden Befehlen können Sie mit curl Daten von einem Netzwerkserver übertragen der robustere der beiden zu sein. Sie können beide verwenden, um Downloads von verschiedenen Servern zu automatisieren.

Der Curl-Befehl

Wie bereits erwähnt, die curl Mit dem Befehl können Sie Daten von einem Netzwerkserver übertragen, aber auch Daten auf einen Netzwerkserver verschieben. Neben HTTP können Sie andere Protokolle verwenden, darunter HTTPS, FTP, POP3, SMTP und Telnet. Administratoren verlassen sich häufig auf curl um mit APIs unter Verwendung der Methoden DELETE, GET, POST und PUT zu interagieren, wie hier erklärt.

Die Syntax für curl ist auf den ersten Blick ziemlich geradlinig. Hier ist ein Beispiel:

$ curl http://www.example.com/help.txt

curl-Optionen

Sie können Ihrer Befehlssyntax verschiedene Optionen hinzufügen:

curl [options] [url]

Es sind die Optionen, die curl machen also robust. Das Folgende sind einige der verfügbaren Optionen, die mit curl verwendet werden und Anwendungsbeispiele.

-a, --append

Beim Hochladen einer Datei können Sie mit dieser Option an die Zieldatei anhängen, anstatt sie zu überschreiben (FTP, SFTP).

$ curl --append file.txt ftp://ftp.example.com/file.txt

--connect-timeout

Der --connect-timeout Die Option legt die maximale Zeit in Sekunden fest, die curl dauert verwenden kann, um seine Verbindung zum Remote-Server herzustellen. Diese Option ist praktisch, um zu verhindern, dass die Verbindung zu schnell beendet wird, und um die Zeit zu minimieren, die der Befehl für den Verbindungsversuch benötigt.

$ curl --connect-timeout 600 http://www.example.com/

--dns-servers

Mit dieser Option können Sie DNS-Server curl auflisten sollte anstelle der Systemvorgabe verwendet werden. Diese Liste kann bei der Behebung von DNS-Problemen nützlich sein oder wenn Sie eine Adresse für einen bestimmten Nameserver auflösen müssen.

$ curl --dns-servers 8.8.8.8 http://www.example.com/

--http3

Sie können curl speziell anweisen, das http3-Protokoll zu verwenden, um eine Verbindung zu dem Host und Port herzustellen, die mit einer https-URL bereitgestellt werden. --http2 und --http1.1 funktionieren auf die gleiche Weise und können zur Überprüfung eines Webservers verwendet werden.

$ curl --http3 http://www.example.com:8080/

--Ausgabe

Wenn Sie eine Datei von einem entfernten Server über eine URL abrufen müssen, --output ist eine einfache Möglichkeit, die Datei lokal zu speichern.

$ curl http://www.example.com/help.txt --output file.txt

--Fortschrittsbalken

Diese Option zeigt in Kombination mit --output den Fortschritt der Dateiübertragung an Option.

$ curl --progress-bar http://www.example.com/help.txt --output file.txt

--sslv2

Wie bei HTTP können Sie curl speziell anweisen, eine bestimmte SSL-Option für den Befehl zu verwenden, zu dem eine Verbindung hergestellt werden soll, und in diesem Fall geben wir Version 2 an. --ssl gibt an, dass SSL verwendet werden muss und --sslv3 gibt SSL-Version 3 an. Hinweis:sslv2 und sslv3 werden vom Betreuer als veraltet angesehen, obwohl sie noch verfügbar sind.

$ curl --sslv2 https://www.example.com/

--verbose

Der --verbose Option mit curl ist nützlich zum Debuggen und Anzeigen, was während des Aufrufs der URL vor sich geht.

$ curl --verbose http://www.example.com

Der wget-Befehl

Im Gegensatz zu curl , das wget Der Befehl dient ausschließlich dem Abrufen von Informationen von einem entfernten Server. Standardmäßig werden die erhaltenen Informationen unter demselben Namen wie in der angegebenen URL gespeichert.

Hier ist ein Beispiel für das einfache wget Syntax:

$ wget http://www.example.com/help.txt

wget-Optionen

Wie curl , können Sie Ihrem wget verschiedene Optionen zuweisen Befehlssyntax:

wget [option] [url]

--dns-servers=ADRESSEN

Sie können einen oder mehrere spezifische DNS-Server angeben, die bei der Verwendung von wget verwendet werden sollen um auf einen entfernten Server zuzugreifen. Die Syntax unterscheidet sich jedoch, wenn Option und Nameserver-Adressen mit einem =.

verbunden werden
$ wget --dns-servers=8.8.8.8 http://www.example.com

-O

Um eine Datei unter einem neuen Namen zu speichern, wenn wget verwendet wird verwenden Sie das --output-document Option, oder einfacher -O .

$ wget http://www.example.com/help.txt -O file.txt

--progress=type

Mit wget , können Sie einen Typ (Punkt oder Balken) angeben, um das ASCII-Visual des Fortschrittsbalkens zu bestimmen. Wenn kein Typ angegeben ist, wird standardmäßig ein Punkt verwendet.

$ wget --progress=dot http://www.example.com

Schluss machen

Die curl und wget Befehle können sehr nützlich sein, wenn sie zu Skripten hinzugefügt werden, um RPM-Pakete oder andere Dateien automatisch herunterzuladen. Dieser Beitrag berührt nur einige der häufigsten Funktionen dieser Befehle. Eine vollständige Liste der verfügbaren Optionen für curl finden Sie in den zugehörigen Manpages und wget .

[ Möchten Sie Ihre Fähigkeiten als Systemadministrator testen? Machen Sie noch heute einen Kompetenztest. ]


Linux
  1. Top 5 Podcasts für Neuigkeiten und Tipps zu Linux

  2. Tipps und Tricks zur Verwendung von CUPS zum Drucken unter Linux

  3. Tipps und Tricks zu Linux-Umgebungsvariablen

  4. Installieren und verwenden Sie den Wget-Befehl wie ein Profi (13 Tipps)

  5. Lieblings-rsync-Tipps und Tricks

Süßes und Saures für Sysadmins und Ops

Nützliche Geany-Plugins, Tipps und Tricks

Was ist der Unterschied zwischen Curl und Wget?

19 Nützliche Tipps und Tricks für die Linux-Befehlszeile

10 coole Debian-Tipps und Tricks

Tipps und Tricks zur Netstat-Befehlszeile