Aller au contenu
🛠️ToolsShed

SFTP Commands Reference

Antisèche complète des commandes SFTP pour le transfert de fichiers sur SSH.

27 commandes

sftpConnexion

Connect to SFTP server

Syntaxe:

sftp [user@]host[:path]

Exemple:

sftp user@example.com
sftp -PConnexion

Connect on a specific port

Syntaxe:

sftp -P <port> user@host

Exemple:

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

Connect using identity/key file

Syntaxe:

sftp -i <keyfile> user@host

Exemple:

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

Close the SFTP connection

Syntaxe:

exit

Exemple:

exit
lsNavigation

List remote directory contents

Syntaxe:

ls [-l] [path]

Exemple:

ls -l /home/user
llsNavigation

List local directory contents

Syntaxe:

lls [path]

Exemple:

lls ~/Downloads
pwdNavigation

Print remote working directory

Syntaxe:

pwd

Exemple:

pwd
lpwdNavigation

Print local working directory

Syntaxe:

lpwd

Exemple:

lpwd
cdNavigation

Change remote directory

Syntaxe:

cd <path>

Exemple:

cd /var/www/html
lcdNavigation

Change local directory

Syntaxe:

lcd <path>

Exemple:

lcd ~/projects
getTransfert

Download file from remote to local

Syntaxe:

get <remote> [local]

Exemple:

get backup.tar.gz
get -rTransfert

Download directory recursively

Syntaxe:

get -r <dir> [local]

Exemple:

get -r /remote/dir ./local
putTransfert

Upload file from local to remote

Syntaxe:

put <local> [remote]

Exemple:

put index.html /var/www/
put -rTransfert

Upload directory recursively

Syntaxe:

put -r <dir> [remote]

Exemple:

put -r ./dist /var/www/
mgetTransfert

Download multiple files matching pattern

Syntaxe:

mget <pattern>

Exemple:

mget *.log
mputTransfert

Upload multiple files matching pattern

Syntaxe:

mput <pattern>

Exemple:

mput *.jpg
regetTransfert

Resume an interrupted download

Syntaxe:

reget <remote> <local>

Exemple:

reget bigfile.zip bigfile.zip
rmGestion

Remove remote file

Syntaxe:

rm <path>

Exemple:

rm /tmp/old.log
rmdirGestion

Remove remote directory

Syntaxe:

rmdir <path>

Exemple:

rmdir /tmp/olddir
mkdirGestion

Create remote directory

Syntaxe:

mkdir <path>

Exemple:

mkdir /var/www/uploads
renameGestion

Rename or move remote file

Syntaxe:

rename <old> <new>

Exemple:

rename old.txt new.txt
chmodGestion

Change remote file permissions

Syntaxe:

chmod <mode> <path>

Exemple:

chmod 644 index.html
chownGestion

Change remote file owner

Syntaxe:

chown <owner> <path>

Exemple:

chown www-data file.php
dfInfo

Show remote disk usage

Syntaxe:

df [-h]

Exemple:

df -h
statInfo

Show file attributes

Syntaxe:

stat <path>

Exemple:

stat /etc/passwd
versionInfo

Show SFTP protocol version

Syntaxe:

version

Exemple:

version
helpInfo

Show all available commands

Syntaxe:

help

Exemple:

help

À propos de cet outil

SFTP (Protocole de transfert de fichiers SSH) est une méthode sécurisée pour transférer des fichiers entre ordinateurs via une connexion SSH chiffrée. Contrairement aux protocoles plus anciens comme FTP, SFTP offre un chiffrement de bout en bout, protégeant vos données contre l'interception et garantissant que les identifiants d'authentification restent confidentiels. Ce guide de référence compile les commandes SFTP les plus couramment utilisées en un seul endroit, facilitant l'exécution des opérations de fichiers par les développeurs, administrateurs système et ingénieurs DevOps sans mémoriser la syntaxe.

En utilisant SFTP depuis la ligne de commande, vous pouvez vous connecter à des serveurs distants, parcourir les structures de répertoires, télécharger et charger des fichiers, et gérer les permissions—le tout via un tunnel sécurisé. Que vous déployiez des applications, fassiez des sauvegardes de configurations ou transfériez des journaux, les commandes SFTP comme get, put, ls et cd sont des outils fondamentaux de votre flux de travail. Le format de feuille de triche vous permet de rechercher rapidement la syntaxe des commandes et les options sans basculer entre plusieurs pages de documentation.

Cet outil est plus précieux pour quiconque travaille avec des serveurs distants dans des environnements de production où la sécurité et la fiabilité sont essentielles. Les équipes DevOps, les administrateurs système et les développeurs bénéficient d'avoir une référence rapide pour la syntaxe SFTP, en particulier lors du dépannage des problèmes de transfert de fichiers ou de l'intégration de nouveaux membres d'équipe qui doivent apprendre les pratiques sécurisées de gestion des fichiers.

Questions Fréquentes

Implémentation du Code

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.