SFTP Commands Reference
Vollständige SFTP-Befehls-Spickzettel für Dateiübertragung über SSH.
27 Befehle
sftpVerbindungConnect to SFTP server
Syntax:
sftp [user@]host[:path]Beispiel:
sftp user@example.comsftp -PVerbindungConnect on a specific port
Syntax:
sftp -P <port> user@hostBeispiel:
sftp -P 2222 user@example.comsftp -iVerbindungConnect using identity/key file
Syntax:
sftp -i <keyfile> user@hostBeispiel:
sftp -i ~/.ssh/id_rsa user@example.comexit / quit / byeVerbindungClose the SFTP connection
Syntax:
exitBeispiel:
exitlsNavigationList remote directory contents
Syntax:
ls [-l] [path]Beispiel:
ls -l /home/userllsNavigationList local directory contents
Syntax:
lls [path]Beispiel:
lls ~/DownloadspwdNavigationPrint remote working directory
Syntax:
pwdBeispiel:
pwdlpwdNavigationPrint local working directory
Syntax:
lpwdBeispiel:
lpwdcdNavigationChange remote directory
Syntax:
cd <path>Beispiel:
cd /var/www/htmllcdNavigationChange local directory
Syntax:
lcd <path>Beispiel:
lcd ~/projectsgetÜbertragungDownload file from remote to local
Syntax:
get <remote> [local]Beispiel:
get backup.tar.gzget -rÜbertragungDownload directory recursively
Syntax:
get -r <dir> [local]Beispiel:
get -r /remote/dir ./localputÜbertragungUpload file from local to remote
Syntax:
put <local> [remote]Beispiel:
put index.html /var/www/put -rÜbertragungUpload directory recursively
Syntax:
put -r <dir> [remote]Beispiel:
put -r ./dist /var/www/mgetÜbertragungDownload multiple files matching pattern
Syntax:
mget <pattern>Beispiel:
mget *.logmputÜbertragungUpload multiple files matching pattern
Syntax:
mput <pattern>Beispiel:
mput *.jpgregetÜbertragungResume an interrupted download
Syntax:
reget <remote> <local>Beispiel:
reget bigfile.zip bigfile.ziprmVerwaltungRemove remote file
Syntax:
rm <path>Beispiel:
rm /tmp/old.logrmdirVerwaltungRemove remote directory
Syntax:
rmdir <path>Beispiel:
rmdir /tmp/olddirmkdirVerwaltungCreate remote directory
Syntax:
mkdir <path>Beispiel:
mkdir /var/www/uploadsrenameVerwaltungRename or move remote file
Syntax:
rename <old> <new>Beispiel:
rename old.txt new.txtchmodVerwaltungChange remote file permissions
Syntax:
chmod <mode> <path>Beispiel:
chmod 644 index.htmlchownVerwaltungChange remote file owner
Syntax:
chown <owner> <path>Beispiel:
chown www-data file.phpdfInfoShow remote disk usage
Syntax:
df [-h]Beispiel:
df -hstatInfoShow file attributes
Syntax:
stat <path>Beispiel:
stat /etc/passwdversionInfoShow SFTP protocol version
Syntax:
versionBeispiel:
versionhelpInfoShow all available commands
Syntax:
helpBeispiel:
helpÜber dieses Tool
SFTP (SSH File Transfer Protocol) ist eine sichere Methode zur Übertragung von Dateien zwischen Computern über eine verschlüsselte SSH-Verbindung. Im Gegensatz zu älteren Protokollen wie FTP bietet SFTP eine End-to-End-Verschlüsselung, die Ihre Daten vor Abfängung schützt und sicherstellt, dass Authentifizierungsanmeldeinformationen vertraulich bleiben. Dieses Referenzhandbuch fasst die am häufigsten verwendeten SFTP-Befehle an einem Ort zusammen, wodurch Entwickler, Systemadministratoren und DevOps-Ingenieure Dateivorgänge ausführen können, ohne die Syntax auswendig zu lernen.
Mithilfe von SFTP über die Befehlszeile können Sie sich mit Remote-Servern verbinden, Verzeichnisstrukturen durchsuchen, Dateien hochladen und herunterladen sowie Berechtigungen verwalten—alles über einen sicheren Tunnel. Egal ob Sie Anwendungen bereitstellen, Konfigurationen sichern oder Protokolle übertragen, SFTP-Befehle wie get, put, ls und cd sind grundlegende Werkzeuge in Ihrem Arbeitsablauf. Das Cheatsheet-Format ermöglicht es Ihnen, schnell nach Befehlssyntax und Optionen zu suchen, ohne zwischen mehreren Dokumentationsseiten zu wechseln.
Dieses Tool ist am wertvollsten für alle, die in Produktionsumgebungen mit Remote-Servern arbeiten, wo Sicherheit und Zuverlässigkeit wichtig sind. DevOps-Teams, Systemadministratoren und Entwickler profitieren davon, schnell auf die SFTP-Syntax verweisen zu können, besonders beim Beheben von Dateiübertragungsproblemen oder beim Onboarding neuer Teamkollegen, die sichere Dateiverwaltungspraktiken erlernen müssen.
Häufig gestellte Fragen
Code-Implementierung
import subprocess
import os
def sftp_connect(host: str, user: str, port: int = 22, key_file: str = None) -> list[str]:
"""Build an sftp command to connect to a remote host."""
cmd = ["sftp"]
if port != 22:
cmd.extend(["-P", str(port)])
if key_file:
cmd.extend(["-i", key_file])
cmd.append(f"{user}@{host}")
return cmd
def sftp_batch_commands(local_dir: str, remote_dir: str, files: list[str]) -> str:
"""Generate SFTP batch file commands for uploading multiple files."""
lines = [f"cd {remote_dir}", f"lcd {local_dir}"]
for f in files:
lines.append(f"put {f}")
lines.append("bye")
return "\n".join(lines)
# Example: create a batch file for SFTP upload
batch = sftp_batch_commands("/local/uploads", "/remote/data", ["a.csv", "b.csv"])
print("SFTP batch commands:")
print(batch)
# Write to batch file and run
with open("/tmp/sftp_batch.txt", "w") as bfile:
bfile.write(batch)
cmd = sftp_connect("example.com", "myuser") + ["-b", "/tmp/sftp_batch.txt"]
print("\nCommand:", " ".join(cmd))
# subprocess.run(cmd) # Uncomment to actually runComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.