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

So verwenden Sie SFTP-Befehle und -Optionen

Einführung

SFTP (Safe File Transfer Protocol) ist Teil des SSH-Protokolls zur sicheren Übertragung von Dateien zwischen entfernten Systemen. Es ermöglicht Benutzern, Datei- und Verzeichnisberechtigungen auf Remote-Systemen anzuzeigen, zu verwalten und zu ändern.

In diesem Tutorial gehen wir die Befehle durch, die Sie mit SFTP verwenden können, und stellen Erklärungen, Optionen und Beispiele für jeden bereit.

Voraussetzungen

  • Zugriff auf ein lokales System und einen Remote-Server, verbunden über ein öffentliches SSH-Schlüsselpaar.
  • Eine funktionierende Internetverbindung.
  • Zugriff auf das Terminalfenster.

Liste der SFTP-Befehle und -Optionen

Mit SFTP können Benutzer Daten zwischen einem entfernten SFTP-Server und einem lokalen Clientsystem übertragen. SFTP verwendet das SSH-Netzwerkprotokoll, um zwei Systeme zu verbinden, die sich einen öffentlichen SSH-Schlüssel teilen.

Die Verbindung mit dem SFTP-Server öffnet die SFTP-Shell-Oberfläche. Die SFTP-Shell-Schnittstelle unterstützt die folgenden Befehle:

Befehl Beschreibung
cd [path] Ändern Sie das Verzeichnis auf dem Remote-Server in [path] .
lcd [path] Ändern Sie das Verzeichnis auf dem lokalen System zu [path] .
chgrp [group ID] [path] Ändern Sie den Gruppenbesitz in [group ID] für die Datei oder den Ordner unter [path] .
chmod [mode] [path] Eigentum ändern zu [mode] für die Datei oder den Ordner unter [path] .
chown [user ID] [path] Ändern Sie die Eigentümerschaft des Benutzers zu [user ID] für die Datei oder den Ordner unter [path] .
help Hilfetext anzeigen.
get [remote path] [local path] Übertragen Sie eine Datei oder ein Verzeichnis von [remote path] auf dem Remote-Server nach [local path] auf dem lokalen System.
lls [options] [path] Anzeigen der Auflistung für das Verzeichnis unter [path] auf dem lokalen System. Verwendet das ls Befehlsoptionen.
ln [old path] [new path] Erstellen Sie einen Symlink von [old path] zu [new path] auf dem Remote-Server.
lmkdir [path] Erstellen Sie ein Verzeichnis unter [path] auf dem lokalen System.
lpwd Zeigt das aktuelle lokale Verzeichnis an.
ls [options] [path] Anzeigen der Auflistung für das Verzeichnis unter [path] auf dem Remote-Server. Verwendet das ls Befehlsoptionen.
lumask [mask] Lokale Berechtigungsmaske auf [mask] setzen .
mkdir [path] Erstellen Sie ein Verzeichnis unter [path] auf dem Remote-Server.
put [local path] [remote path] Übertragen Sie eine Datei oder ein Verzeichnis von [local path] auf dem lokalen System zu [remote path] auf dem Remote-Server.
pwd Zeigt das aktuelle Remote-Verzeichnis an.
exit Verlassen Sie die SFTP-Schnittstelle.
exit Verlassen Sie die SFTP-Schnittstelle.
rename [old path] [new path] Benennen Sie eine Datei auf dem Remote-Server von [old path] um zu [new path] .
rmdir [path] Entfernen Sie ein Verzeichnis unter [path] auf dem Remote-Server.
rm [path] Entfernen Sie eine Datei, die sich unter [path] befindet auf dem Remote-Server.
symlink [old path] [new path] Erstellen Sie einen Symlink von [old path] zu [new path] auf dem Remote-Server.
version Anzeige der aktuellen Version von SFTP
![command] Führen Sie <strong>[command]</strong> aus in der lokalen Shell.
! Vorübergehend zur lokalen Shell wechseln.
? Hilfetext anzeigen.

Mit SFTP verbinden

Die Verbindung mit SFTP verwendet die gleiche Syntax wie die Verbindung mit einem Remote-System mit SSH:

sftp [username]@[remote hostname or IP address]

Beispielsweise die Verbindung zu einem Server mit dem phoenixnap Benutzername an der IP-Adresse 192.168.100.7 :

sftp [email protected]

Wenn die Verbindung erfolgreich ist, wechselt die Shell zur SFTP-Schnittstelle, angezeigt durch sftp> anstelle des aktuellen Benutzernamens:

Wenn Sie sich mit SFTP mit einem Remote-System verbinden, verwenden Sie die folgenden Optionen mit sftp Befehl, um sein Verhalten zu ändern:

Option Beschreibung
-1 Verwenden Sie beim Verbinden Version 1 des SSH-Protokolls.
-4 Nur IPv4-Adressen verwenden.
-6 Nur IPv6-Adressen verwenden.
-A Ermöglicht die Weiterleitung des SSH-Authentifizierungsagenten an den Remote-Server.
-a Versuchen Sie, unterbrochene Dateiübertragungen fortzusetzen.
-B [buffer size] Legen Sie eine benutzerdefinierte Puffergröße fest (der Standardwert ist 32.768 Byte).
-b [batch file] Geben Sie eine Batch-Datei an, um sftp zu starten Befehl im Stapelmodus.
-C Dateikomprimierung verwenden.
-c [cipher] Wählen Sie eine Chiffre aus, die beim Verschlüsseln von Daten für die Übertragung verwendet werden soll.
-D [SFTP server path] Stellen Sie eine Verbindung zu einem lokalen SFTP-Server her, ohne SSH zu verwenden.
-F [SSH configuration file] Geben Sie eine SSH-Konfigurationsdatei an, die beim Verbinden verwendet werden soll.
-f Dateien sofort nach der Übertragung auf die Festplatte leeren.
-i [private key file] Wählen Sie eine Datei aus, die den privaten Schlüssel für die Public-Key-Authentifizierung enthält.
-J [destination] TCP-Weiterleitung über das angegebene Ziel einrichten.
-l [kbit/s] Setzen Sie ein Limit für die Verbindungsbandbreite in kbit/s.
-N Ruhemodus deaktivieren.
-o [SSH option] Fügen Sie eine ssh-Befehlsoption hinzu, wenn Sie sich mit SFTP verbinden.
-P [port number] Stellen Sie einen Port für die Verbindung ein.
-p Dateiberechtigungen und Zugriffszeiten bei der Übertragung beibehalten.
-q Ruhemodus aktivieren.
-R [number of requests] Legen Sie die Anzahl der zulässigen gleichzeitigen Dateiübertragungsanfragen fest.
-r Verzeichnisse rekursiv übertragen.
-S [client] Geben Sie einen SFTP-Client an, den Sie für die Verbindung verwenden möchten.
-s [SSH subsystem or SFTP server path] Wählen Sie ein SSH2-Subsystem oder einen SFTP-Serverpfad aus.
-v Führen Sie ein ausführliches Sitzungsprotokoll.

Verwenden Sie den exit Befehl zum Beenden der aktuellen Verbindung:

exit

Übertragen von Dateien

Verwenden Sie get und put Befehle zum Erstellen einer Dateiübertragungsanforderung in SFTP. Der get Der Befehl überträgt die Dateien von einem entfernten Server auf das lokale System, während der Befehl put Befehl macht das Gegenteil.

Der get Der Befehl verwendet die folgende grundlegende Syntax:

get [path to file]

Mit get Befehl überträgt eine Datei vom Remote-Server zum Home des lokalen Systems Verzeichnis. Zum Beispiel:

get example01.txt

Andererseits mit put Befehl überträgt eine Datei vom lokalen System zum Home des Remote-Servers Verzeichnis:

put example02.txt

Um die Datei in ein anderes Verzeichnis zu übertragen, hängen Sie den Namen des Verzeichnisses an das Ende von get an oder put Befehl:

get [path to file] [path to directory]
put [path to file] [path to directory]

Um den Namen der Datei auf dem lokalen System zu ändern, hängen Sie den neuen Dateinamen an das Ende des Befehls an:

get [path to file] [new file name]
put [path to file] [new file name]

Der get und put Befehle verwenden die folgenden Optionen:

Option Beschreibung
-a Versuchen Sie, eine Dateiübertragung fortzusetzen.
-f Löschen Sie die Datei sofort nach der Übertragung auf die Festplatte.
-p Dateiberechtigungen und Zugriffszeiten während der Übertragung beibehalten.
-R Ein ganzes Verzeichnis rekursiv übertragen. Wenn Sie diese Option verwenden, definieren Sie einen Pfad zu einem Verzeichnis anstelle eines Pfads zu einer Datei.

Dateiberechtigungen ändern

Mit SFTP können Sie auch Datei- und Verzeichnisberechtigungen auf dem Remote-Server ändern. Der chown Befehl ändert den Dateibesitz für einzelne Benutzer:

chown [user ID] [path to file]

Im Gegensatz zum chown Befehl, der eine Benutzer-ID erfordert, funktioniert der Befehl chmod genauso wie in der Standard-Shell:

chmod [permission] [path to file]

Eine weitere Option ist die Verwendung von chgrp Befehl zum Ändern des Gruppenbesitzes einer Datei:

chgrp [group ID] [path to file]

Mit SFTP können Sie auch eine lokale umask einrichten und die Standardberechtigung für alle zukünftigen Dateien ändern, die auf das lokale System übertragen werden. Verwenden Sie die lumask Befehl zum Einrichten einer neuen lokalen umask:

lumask [permission mask]

Dateien und Verzeichnisse verwalten

SFTP bietet Optionen, mit denen Benutzer Dateien sowohl auf dem lokalen System als auch auf dem Remote-Server überprüfen und verwalten können. Die ls Mit dem Befehl können Sie die Dateien und Verzeichnisse auf dem Remote-Server auflisten. Zum Beispiel:

ls -l

Ebenso die lls (lokale ls )-Befehl listet Dateien und Verzeichnisse auf dem lokalen System auf:

lls -l

Die cd und lcd Befehle ändern das aktuelle Arbeitsverzeichnis auf dem entfernten Server bzw. dem lokalen System:

cd [path to directory on the remote server]
lcd [path to directory on the local system]

Mit dem Befehl mkdir wird ein Verzeichnis auf dem Remote-Server mit dem von Ihnen angegebenen Pfad erstellt:

mkdir [path to the new directory on the remote server]

Erstellen Sie beispielsweise Example_Directory auf der Startseite Verzeichnis:

mkdir Example_Directory

Das mkdir Der Befehl hat keine Ausgabe, daher müssen Sie ls verwenden Befehl, um das Ergebnis zu überprüfen:

Ähnlich dem lmkdir Befehl erstellt ein Verzeichnis auf dem lokalen System:

lmkdir [path to the new directory on the local system]

Verwenden Sie dasselbe Beispiel:

lmkdir Example_Directory

Die rename Befehl ändert den Namen einer Datei oder eines Verzeichnisses auf dem Remote-Server:

rename [old path] [new path]

Beispiel:Umbenennen von example01.txt zu sampledoc.txt :

rename example01.txt sampledoc.txt

Mit rm Befehl entfernt eine Datei vom Remote-Server:

rm [path to file]

Zum Beispiel das Entfernen der sampledoc.txt Datei:

rm sampledoc.txt

Ebenso das rmdir Befehl entfernt ein Verzeichnis vom entfernten Server:

rmdir [path to directory]

Beispiel:Entfernen von Example_Directory :

rmdir Example_Directory

Die ln und symlink Befehle erstellen einen symbolischen Link zu einer Datei oder einem Verzeichnis auf dem entfernten Server:

ln [old path] [new path]
symlink [old path] [new path]

Erstellen Sie beispielsweise einen Link zu example02.txt mit dem Namen beispiel_link mit ln Befehl:

ln example02.txt example_link

Das pwd zeigt als Ausgabe das aktuelle Arbeitsverzeichnis auf dem entfernten Server:

pwd

Andererseits ist der lpwd Der Befehl erstellt eine Ausgabe, die das aktuelle Arbeitsverzeichnis auf dem lokalen System anzeigt:

lpwd

Lokale Shell-Befehle ausführen

Mit SFTP können Sie einen Befehl über die lokale Shell ausführen, indem Sie ein Ausrufezeichen (! ) vor dem Befehl. Dadurch können Benutzer Befehle ausführen, die nicht Teil der standardmäßigen SFTP-Shell auf dem lokalen System sind.

Beispielsweise unterstützt SFTP den tree nicht Befehl unter Linux. Wenn Sie die lokale Shell verwenden, können Sie diesen Befehl in der SFTP-Schnittstelle ausführen:

!tree

Mit dem Ausrufezeichen (! ) ohne Befehl verschiebt den Benutzer vorübergehend zur lokalen Shell. Um zur SFTP-Shell zurückzukehren, verwenden Sie exit Befehl.

Andere Befehle

Verwenden der help oder ? Befehle zeigt den Hilfetext für die SFTP-Schnittstelle an. Die Hilfe enthält eine Liste der in der SFTP-Shell verfügbaren Befehle.

Die version zeigt die aktuell installierte Version des SFTP-Protokolls an:

SFTP-Spickzettel im PDF-Format

Nachfolgend finden Sie ein einseitiges Referenzblatt, das alle oben genannten SFTP-Befehle und -Optionen enthält. Speichern Sie es als PDF-Datei, indem Sie auf den Link unten klicken.

SFTP-Spickzettel HERUNTERLADEN


Linux
  1. So verwenden Sie Bash-Verlaufsbefehle

  2. So installieren und verwenden Sie Flatpak unter Linux

  3. Verwenden Sie SFTP und SCP

  4. So verwenden Sie die Befehle strace und ltrace unter Linux

  5. Wie verwende ich die Befehle watch und jobs zusammen in Bash?

So installieren und verwenden Sie SFTP auf Linux-Servern

So installieren und verwenden Sie PuTTY unter Linux

So verwenden Sie die Befehle Pbcopy und Pbpaste unter Linux

So installieren und verwenden Sie phpMyAdmin unter Linux

So installieren und verwenden Sie den fd-Befehl unter Linux

So installieren und verwenden Sie Nu Shell unter Linux