Einführung
FTP (File Transfer Protocol) ist ein Netzwerkprotokoll, das zum Übertragen von Dateien von einem Computersystem auf ein anderes verwendet wird. Auch wenn die Sicherheit von FTP viele Diskussionen auslöst, ist es immer noch eine effektive Methode zum Übertragen von Dateien innerhalb eines sicheren Netzwerks.
In diesem Tutorial zeigen wir Ihnen, wie Sie ftp
verwenden Befehl, um sich mit einem Remote-System zu verbinden, Dateien zu übertragen und Dateien und Verzeichnisse zu verwalten.
Voraussetzungen
- Zugriff auf ein lokales System und einen Remote-FTP-Server (erfahren Sie, wie Sie einen FTP-Server auf Ubuntu, CentOS 7 oder Raspberry Pi installieren).
- Eine funktionierende Internetverbindung.
- Zugriff auf das Terminalfenster.
WICHTIG: Der FTP-Verkehr wird nicht verschlüsselt und gilt daher als unsicher. Es wird nicht empfohlen, Dateien per FTP über das Internet zu übertragen. Weitere Informationen zu sicheren Alternativen zu FTP finden Sie in unseren Artikeln zu SFTP und TSL im Vergleich zu SSL.
Linux FTP-Befehlssyntax
Die Linux-Datei ftp
Der Befehl verwendet die folgende grundlegende Syntax:
ftp [options] [IP]
Die IP
ist die IP-Adresse des Systems, mit dem Sie sich verbinden.
Die verfügbaren Optionen für ftp
Befehle sind:
FTP-Befehlsoptionen | Beschreibung |
---|---|
-4 | Nur IPv4 verwenden. |
-6 | Nur IPv6 verwenden. |
-e | Deaktiviert die Befehlsbearbeitung und Verlaufsunterstützung. |
-p | Verwendet den passiven Modus für Datenübertragungen, sodass Sie FTP trotz einer Firewall verwenden können, die dies möglicherweise verhindert. |
-i | Schaltet die interaktive Eingabeaufforderung während mehrerer Dateiübertragungen aus. |
-n | Deaktiviert automatische Anmeldeversuche bei der ersten Verbindung. |
-g | Deaktiviert das Globbing von Dateinamen. |
-v | Aktiviert die ausführliche Ausgabe. |
-d | Aktiviert Debugging. |
Die Datei ftp
Der Befehl verbindet Sie mit einem entfernten System und initiiert die FTP-Schnittstelle. Die FTP-Schnittstelle verwendet die folgenden Befehle, um Dateien zu verwalten und auf das Remote-System zu übertragen:
Befehl | Beschreibung |
---|---|
! | Vorübergehend in die lokale Shell flüchten. |
$ | Makro ausführen. |
? | Hilfetext anzeigen. |
account | Geben Sie ein Passwort für das Remote-System an. |
append | Hängen Sie eine lokale Datei an eine Datei auf dem Remote-System an. |
ascii | Stellen Sie den Dateiübertragungstyp auf Netzwerk-ASCII (Standardtyp) ein. |
bell | Aktivieren Sie einen akustischen Alarm nach Abschluss jeder Übertragung. |
binary | Stellen Sie den Dateiübertragungstyp auf binäre Bildübertragung ein. |
bye | Schließen Sie die FTP-Schnittstelle. |
case | Umschalten zwischen Groß-/Kleinschreibung bei der ID-Zuordnung während mget Befehl. |
cd | Ändern Sie das aktuelle Arbeitsverzeichnis auf dem Remote-System. |
cdup | Wechseln Sie zum übergeordneten Verzeichnis des aktuellen Arbeitsverzeichnisses auf dem Remote-System. |
chmod | Dateiberechtigungen auf dem Remote-System ändern. |
close | Schließen Sie die FTP-Schnittstelle. |
cr | Wagenrücklaufentfernung bei ASCII-Dateiübertragungen umschalten. |
debug | Debugging-Modus umschalten. |
delete | Löschen Sie eine Datei aus dem Remote-System. |
dir | Listen Sie den Inhalt eines Verzeichnisses auf dem entfernten System auf. |
disconnect | Beenden Sie die FTP-Sitzung. |
exit | Beenden Sie die FTP-Sitzung und verlassen Sie die FTP-Oberfläche. |
form | Stellen Sie das Dateiübertragungsformat ein. |
get | Übertragen Sie eine Datei vom Remote-System auf den lokalen Computer. |
glob | Schaltet die Erweiterung der Metazeichen lokaler Dateinamen um. |
hash | Anzeige des Hash-Zeichens umschalten ("# ") für jeden übertragenen Datenblock. |
help | Hilfetext anzeigen. |
idle | Stellen Sie einen Inaktivitäts-Timer für das Remote-System ein. |
image | Stellen Sie den Dateiübertragungstyp auf binäre Bildübertragung ein. |
ipany | Jede Art von IP-Adresse zulassen. |
ipv4 | Nur IPv4-Adressen zulassen. |
ipv6 | Nur IPv6-Adressen zulassen. |
lcd | Ändern Sie das aktuelle Arbeitsverzeichnis auf dem lokalen Rechner. |
ls | Listen Sie den Inhalt eines Verzeichnisses auf dem entfernten System auf. |
macdef | Definiere ein Makro. |
mdelete | Löschen Sie mehrere Dateien auf dem Remote-System. |
mdir | Listen Sie den Inhalt mehrerer Verzeichnisse auf dem Remote-System auf. |
mget | Mehrere Dateien vom Remote-System auf den lokalen Rechner übertragen. |
mkdir | Erstellen Sie ein Verzeichnis auf dem Remote-System. |
mls | Listen Sie den Inhalt mehrerer Verzeichnisse auf dem Remote-System auf. |
mode | Stellen Sie den Dateiübertragungsmodus ein. |
modtime | Anzeigen, wann eine Datei auf dem Remote-System zuletzt geändert wurde. |
mput | Mehrere Dateien vom lokalen Rechner auf das Remote-System übertragen. |
newer | Übertragen Sie eine Datei nur dann vom Remote-System auf den lokalen Computer, wenn die Änderungszeit der Remote-Datei jünger ist als die der lokalen Datei (wenn keine lokale Version der Datei existiert, wird die Remote-Datei automatisch gilt als neuer). |
nlist | Listen Sie den Inhalt eines Verzeichnisses auf dem entfernten System auf. |
<a href="https://phoenixnap.com/kb/nmap-scan-open-ports" target="_blank" rel="noreferrer noopener">nmap</a> | Vorlagen für die standardmäßige Dateinamenzuordnung festlegen. |
ntrans | Übersetzungstabelle für Standard-Dateinamenzuordnung festlegen. |
open | Stellen Sie eine Verbindung mit einem FTP-Server her. |
passive | Passiven Übertragungsmodus aktivieren. |
prompt | Interaktive Eingabeaufforderungen erzwingen, wenn mehrere Dateien übertragen werden. |
proxy | Führen Sie den Befehl auf einer alternativen (Proxy-)Verbindung aus. |
put | Übertragen Sie eine Datei vom lokalen Rechner auf das Remote-System. |
pwd | Zeigen Sie das aktuelle Arbeitsverzeichnis auf dem entfernten System an. |
qc | Schaltet die Anzeige eines Steuerzeichens um ("? ") in der Ausgabe von ASCII-Befehlen. |
exit | Beenden Sie die FTP-Sitzung und verlassen Sie die FTP-Oberfläche. |
quote | Geben Sie einen Befehl als Argument an und senden Sie ihn an den FTP-Server. |
recv | Übertragen Sie eine Datei vom Remote-System auf den lokalen Computer. |
reget | Übertragen Sie eine Datei vom Remote-System auf den lokalen Computer, wenn die lokale Datei kleiner als die Remote-Datei ist. Die Übertragung beginnt am Ende der lokalen Datei. Wenn es keine lokale Version der Datei gibt, wird der Befehl nicht ausgeführt. |
rename | Benennen Sie eine Datei auf dem Remote-System um. |
reset | Befehlsantworten in der Warteschlange löschen. |
restart | Starten Sie einen Dateiübertragungsbefehl an einer gesetzten Markierung neu. |
rhelp | Hilfetext für das entfernte System anzeigen. |
rmdir | Entfernen Sie ein Verzeichnis auf dem Remote-System. |
rstatus | Status des Remote-Systems anzeigen. |
runique | Schaltet das Speichern von Dateien auf dem lokalen Rechner mit eindeutigen Dateinamen um. |
send | Übertragen Sie eine Datei vom lokalen Rechner auf das Remote-System. |
sendport | Schaltet die Verwendung von PORT-Befehlen um. |
site | Geben Sie einen Befehl als Argument an und senden Sie ihn als SITE-Befehl an den FTP-Server. |
size | Größe einer Datei auf dem Remote-System anzeigen. |
status | Status der FTP-Schnittstelle anzeigen. |
struct | Stellen Sie die Dateiübertragungsstruktur ein. |
sunique | Schaltet das Speichern von Dateien auf dem Remote-System mit eindeutigen Dateinamen um. |
system | Betriebssystem auf dem Remote-System anzeigen. |
tenex | Stellen Sie den Dateiübertragungstyp ein, um eine Verbindung zu TENEX-Maschinen zu ermöglichen. |
tick | Umschalten des Druckbytezählers während der Übertragung. |
trace | Paketverfolgung umschalten. |
type | Legen Sie einen Dateiübertragungstyp fest. |
umask | Legen Sie eine Standard-Berechtigungsmaske für den lokalen Rechner fest. |
user | Geben Sie Benutzernamen und Passwort für den Remote-FTP-Server an. |
verbose | Umschalten der ausführlichen Ausgabe. |
Verwendung des FTP-Befehls unter Linux
Die Datei ftp
Der Befehl verbindet ein Computersystem über das FTP-Protokoll mit einem entfernten Server. Sobald die Verbindung hergestellt ist, können Benutzer auch Dateien zwischen dem lokalen Computer und dem Remote-System übertragen und Dateien und Verzeichnisse auf dem Remote-System verwalten.
Stellen Sie eine FTP-Verbindung her
Um eine FTP-Verbindung zu einem entfernten System herzustellen, verwenden Sie den ftp
Befehl mit der IP-Adresse des Remote-Systems:
ftp [IP]
Beispielsweise eine Verbindung zu einem Remote-Server mit der IP-Adresse 192.168.100.9 :
ftp 192.168.100.9
Melden Sie sich beim FTP-Server an
Sobald Sie über ftp
eine Verbindung zu einem entfernten System herstellen Befehl erfordert die FTP-Schnittstelle die Eingabe eines Benutzernamens und eines Kennworts, um sich anzumelden:
Durch Eingabe der erforderlichen Anmeldedaten werden Sie angemeldet und die FTP-Schnittstelle gestartet. In diesem Beispiel melden wir uns als phoenixnap an Benutzer:
Die FTP-Schnittstelle ist jetzt aktiv und bereit, Befehle auszuführen:
Arbeiten mit Verzeichnissen auf einem Remote-System
Mithilfe von FTP können Sie grundlegende Verzeichnisverwaltungen auf dem Remote-System durchführen, z. B. Verzeichnisse erstellen, von einem Arbeitsverzeichnis in ein anderes wechseln und Verzeichnisinhalte auflisten.
Verzeichnisse auflisten
Die FTP-Schnittstelle ermöglicht es Ihnen, den Inhalt eines Verzeichnisses auf einem entfernten System aufzulisten, indem Sie ls
verwenden Befehl:
ls
Wenn Sie den Befehl ohne Optionen verwenden, wird der Inhalt des aktuellen Arbeitsverzeichnisses des Remote-Systems angezeigt. In diesem Beispiel ist das die Home Verzeichnis:
Angeben des Pfads zu einem Verzeichnis als Argument für ls
Befehl zeigt den Inhalt dieses Verzeichnisses an:
ls [path to directory]
Zum Beispiel den Inhalt des Beispiels auflisten Verzeichnis:
ls Example
Anhängen des Namens einer Textdatei an das Ende von ls
Befehl speichert den Inhalt eines Verzeichnisses in dieser Datei:
ls [path to directory] [file name]
Zum Beispiel:
ls Example listing.txt
Für diese Befehlssyntax müssen Sie Y
eingeben und drücken Sie Enter um das Speichern der Textdatei zu bestätigen:
Beim Öffnen der Textdatei wird der Inhalt des Verzeichnisses angezeigt:
Das dir
und nlist
Befehle sind Alternativen zu ls
befehlen und arbeiten auf die gleiche Weise. Die FTP-Schnittstelle ermöglicht es Ihnen auch, den Inhalt mehrerer Verzeichnisse mit mls
aufzulisten Befehl:
mls [directory 1] [directory 2] .. [directory n]
Das folgende Beispiel listet beispielsweise den Inhalt von Example auf und Beispiel2 :
mls Example Example2 -
Wie die ls
Befehl, der mls
Mit dem Befehl können Benutzer den Inhalt in einer Textdatei speichern. Dieser Befehl behandelt das letzte Argument als den Namen der Textdatei. Wenn Sie Verzeichnisinhalte auflisten möchten, ohne sie in einer Textdatei zu speichern, ersetzen Sie den Dateinamen durch ein Bindestrichsymbol (-
).
Das mdir
Der Befehl funktioniert genauso wie der mls
Befehl, bietet aber eine detailliertere Ausgabe:
mdir Example Example2 -
Verzeichnisse ändern
Verwenden Sie die cd
Befehl zum Ändern des aktuellen Arbeitsverzeichnisses auf dem entfernten System:
cd [path to directory]
Gehen Sie beispielsweise zum Beispiel Verzeichnis:
cd Example
Verwenden Sie das cdup
Befehl, um zum übergeordneten Verzeichnis des aktuellen Arbeitsverzeichnisses zu wechseln. In diesem Beispiel bewegen wir uns vom Beispiel Verzeichnis zur Startseite Verzeichnis:
cdup
Verzeichnisse erstellen
Verwenden von mkdir
Mit dem Befehl können Sie ein Verzeichnis auf dem Remote-System erstellen:
mkdir [directory name]
Im folgenden Beispiel erstellen wir ein Verzeichnis mit dem Namen Example3 :
mkdir Example3
Dateien per FTP herunterladen
Um eine Datei von einem entfernten System auf den lokalen Computer zu übertragen, verwenden Sie get
oder recv
Befehl.
get [remote file name]
ODER
recv [remote file name]
Im folgenden Beispiel übertragen wir example_file.txt auf den lokalen Rechner.
get example_file.txt
Um example_file.txt zu übertragen und speichern Sie es als example.txt Verwenden Sie auf dem lokalen Computer:
get example_file.txt example.txt
Um eine Datei aus einem bestimmten Verzeichnis zu übertragen, müssen Sie in dieses Verzeichnis wechseln:
cd Example
get test01.txt
Das mget
Mit dem Befehl können Sie mehrere Dateien gleichzeitig übertragen. Beispiel:Übertragen von test01.txt , test02.txt und test03.txt aus dem Beispiel Verzeichnis:
mget test01.txt test02.txt test03.txt
Dateien per FTP hochladen
Verwenden Sie put
oder send
Befehl zum Übertragen einer Datei von der lokalen Maschine auf ein entferntes System. Beide Befehle verwenden die gleiche grundlegende Syntax:
put [local file name]
send [local file name]
Um example01.txt zu übertragen zum entfernten System verwenden Sie:
put example01.txt
Zum Hochladen von example01.txt an das entfernte System als sample01.txt , verwenden Sie:
put example01.txt sample01.txt
Wenn Sie in ein bestimmtes Verzeichnis wechseln, können Sie Dateien aus diesem Verzeichnis übertragen:
cd Directory
put example.txt
Verwenden Sie den mput
Befehl zum Übertragen mehrerer Dateien auf das Remote-System. Übertragen Sie beispielsweise test04.txt , test05.txt und test06.txt mit:
mput test04.txt test05.txt test06.txt
Dateien umbenennen
Verwenden Sie rename
Befehl zum Umbenennen von Dateien auf dem Remote-Server. Die rename
Befehl verwendet die folgende Syntax:
rename [old file name] [new file name]
Beispiel:Umbenennen von sample01.txt zu sample_file01.txt :
rename sample01.txt sample_file01.txt
Die erfolgreiche Ausführung des Befehls erzeugt die folgende Ausgabe:
Verwenden Sie rename
Befehl, um auch Verzeichnisnamen zu ändern.
Im Beispiel unten das Example3 Verzeichnis wird in Example03 umbenannt :
rename Example3 Example03
Dateien löschen
Das delete
Mit dem Befehl können Sie eine Datei auf dem Remote-System löschen. Es verwendet die folgende Syntax:
delete [file name]
Zum Beispiel das Löschen von sample_file01.txt :
delete sample_file01.txt
Mit mdelete
Mit dem Befehl können Sie mehrere Dateien gleichzeitig löschen, indem Sie die Dateinamen nach dem Befehl hinzufügen:
mdelete test04.txt test05.txt test06.txt
Eine andere Methode ist die Verwendung von mdelete
Befehl mit einem Platzhalterzeichen. Zum Beispiel, um alle .txt zu löschen Dateien, verwenden Sie:
mdelete *.txt
Schließen Sie die FTP-Verbindung
Verwenden Sie den bye
, exit
, oder exit
Befehl, um die FTP-Verbindung zu beenden und die Schnittstelle zu verlassen.
Mit disconnect
Befehl schließt die Verbindung, ohne die Schnittstelle zu verlassen.