Zum Inhalt springen
🛠️ToolsShed

SFTP Commands Reference

Vollständige SFTP-Befehls-Spickzettel für Dateiübertragung über SSH.

27 Befehle

sftpVerbindung

Connect to SFTP server

Syntax:

sftp [user@]host[:path]

Beispiel:

sftp user@example.com
sftp -PVerbindung

Connect on a specific port

Syntax:

sftp -P <port> user@host

Beispiel:

sftp -P 2222 user@example.com
sftp -iVerbindung

Connect using identity/key file

Syntax:

sftp -i <keyfile> user@host

Beispiel:

sftp -i ~/.ssh/id_rsa user@example.com
exit / quit / byeVerbindung

Close the SFTP connection

Syntax:

exit

Beispiel:

exit
lsNavigation

List remote directory contents

Syntax:

ls [-l] [path]

Beispiel:

ls -l /home/user
llsNavigation

List local directory contents

Syntax:

lls [path]

Beispiel:

lls ~/Downloads
pwdNavigation

Print remote working directory

Syntax:

pwd

Beispiel:

pwd
lpwdNavigation

Print local working directory

Syntax:

lpwd

Beispiel:

lpwd
cdNavigation

Change remote directory

Syntax:

cd <path>

Beispiel:

cd /var/www/html
lcdNavigation

Change local directory

Syntax:

lcd <path>

Beispiel:

lcd ~/projects
getÜbertragung

Download file from remote to local

Syntax:

get <remote> [local]

Beispiel:

get backup.tar.gz
get -rÜbertragung

Download directory recursively

Syntax:

get -r <dir> [local]

Beispiel:

get -r /remote/dir ./local
putÜbertragung

Upload file from local to remote

Syntax:

put <local> [remote]

Beispiel:

put index.html /var/www/
put -rÜbertragung

Upload directory recursively

Syntax:

put -r <dir> [remote]

Beispiel:

put -r ./dist /var/www/
mgetÜbertragung

Download multiple files matching pattern

Syntax:

mget <pattern>

Beispiel:

mget *.log
mputÜbertragung

Upload multiple files matching pattern

Syntax:

mput <pattern>

Beispiel:

mput *.jpg
regetÜbertragung

Resume an interrupted download

Syntax:

reget <remote> <local>

Beispiel:

reget bigfile.zip bigfile.zip
rmVerwaltung

Remove remote file

Syntax:

rm <path>

Beispiel:

rm /tmp/old.log
rmdirVerwaltung

Remove remote directory

Syntax:

rmdir <path>

Beispiel:

rmdir /tmp/olddir
mkdirVerwaltung

Create remote directory

Syntax:

mkdir <path>

Beispiel:

mkdir /var/www/uploads
renameVerwaltung

Rename or move remote file

Syntax:

rename <old> <new>

Beispiel:

rename old.txt new.txt
chmodVerwaltung

Change remote file permissions

Syntax:

chmod <mode> <path>

Beispiel:

chmod 644 index.html
chownVerwaltung

Change remote file owner

Syntax:

chown <owner> <path>

Beispiel:

chown www-data file.php
dfInfo

Show remote disk usage

Syntax:

df [-h]

Beispiel:

df -h
statInfo

Show file attributes

Syntax:

stat <path>

Beispiel:

stat /etc/passwd
versionInfo

Show SFTP protocol version

Syntax:

version

Beispiel:

version
helpInfo

Show all available commands

Syntax:

help

Beispiel:

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 run

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.