Vai al contenuto
🛠️ToolsShed

SFTP Commands Reference

Foglio di aiuto completo dei comandi SFTP per il trasferimento di file su SSH.

27 comandi

sftpConnessione

Connect to SFTP server

Sintassi:

sftp [user@]host[:path]

Esempio:

sftp user@example.com
sftp -PConnessione

Connect on a specific port

Sintassi:

sftp -P <port> user@host

Esempio:

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

Connect using identity/key file

Sintassi:

sftp -i <keyfile> user@host

Esempio:

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

Close the SFTP connection

Sintassi:

exit

Esempio:

exit
lsNavigazione

List remote directory contents

Sintassi:

ls [-l] [path]

Esempio:

ls -l /home/user
llsNavigazione

List local directory contents

Sintassi:

lls [path]

Esempio:

lls ~/Downloads
pwdNavigazione

Print remote working directory

Sintassi:

pwd

Esempio:

pwd
lpwdNavigazione

Print local working directory

Sintassi:

lpwd

Esempio:

lpwd
cdNavigazione

Change remote directory

Sintassi:

cd <path>

Esempio:

cd /var/www/html
lcdNavigazione

Change local directory

Sintassi:

lcd <path>

Esempio:

lcd ~/projects
getTrasferimento

Download file from remote to local

Sintassi:

get <remote> [local]

Esempio:

get backup.tar.gz
get -rTrasferimento

Download directory recursively

Sintassi:

get -r <dir> [local]

Esempio:

get -r /remote/dir ./local
putTrasferimento

Upload file from local to remote

Sintassi:

put <local> [remote]

Esempio:

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

Upload directory recursively

Sintassi:

put -r <dir> [remote]

Esempio:

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

Download multiple files matching pattern

Sintassi:

mget <pattern>

Esempio:

mget *.log
mputTrasferimento

Upload multiple files matching pattern

Sintassi:

mput <pattern>

Esempio:

mput *.jpg
regetTrasferimento

Resume an interrupted download

Sintassi:

reget <remote> <local>

Esempio:

reget bigfile.zip bigfile.zip
rmGestione

Remove remote file

Sintassi:

rm <path>

Esempio:

rm /tmp/old.log
rmdirGestione

Remove remote directory

Sintassi:

rmdir <path>

Esempio:

rmdir /tmp/olddir
mkdirGestione

Create remote directory

Sintassi:

mkdir <path>

Esempio:

mkdir /var/www/uploads
renameGestione

Rename or move remote file

Sintassi:

rename <old> <new>

Esempio:

rename old.txt new.txt
chmodGestione

Change remote file permissions

Sintassi:

chmod <mode> <path>

Esempio:

chmod 644 index.html
chownGestione

Change remote file owner

Sintassi:

chown <owner> <path>

Esempio:

chown www-data file.php
dfInformazioni

Show remote disk usage

Sintassi:

df [-h]

Esempio:

df -h
statInformazioni

Show file attributes

Sintassi:

stat <path>

Esempio:

stat /etc/passwd
versionInformazioni

Show SFTP protocol version

Sintassi:

version

Esempio:

version
helpInformazioni

Show all available commands

Sintassi:

help

Esempio:

help

Informazioni sullo strumento

SFTP (Secure File Transfer Protocol) è un metodo sicuro per trasferire file tra computer tramite una connessione SSH crittografata. A differenza di protocolli più vecchi come FTP, SFTP fornisce la crittografia end-to-end, proteggendo i tuoi dati dall'intercettazione e garantendo che le credenziali di autenticazione rimangano riservate. Questa guida di riferimento raccoglie i comandi SFTP più comunemente utilizzati in un'unica posizione, facilitando ai sviluppatori, agli amministratori di sistema e agli ingegneri DevOps l'esecuzione di operazioni sui file senza la necessità di memorizzare la sintassi.

Utilizzando SFTP dalla riga di comando, puoi connetterti a server remoti, sfogliare strutture di directory, caricare e scaricare file e gestire le autorizzazioni—il tutto attraverso un tunnel sicuro. Che tu stia distribuendo applicazioni, eseguendo il backup delle configurazioni o trasferendo registri, i comandi SFTP come get, put, ls e cd sono strumenti fondamentali nel tuo flusso di lavoro. Il formato del foglio di aiuto ti permette di cercare rapidamente la sintassi dei comandi e le opzioni senza passare da una pagina di documentazione all'altra.

Questo strumento è più prezioso per chiunque lavori con server remoti in ambienti di produzione dove la sicurezza e l'affidabilità sono importanti. I team DevOps, gli amministratori di sistema e gli sviluppatori beneficiano dall'avere un rapido riferimento per la sintassi SFTP, soprattutto quando si risolvono i problemi di trasferimento dei file o si integrano nuovi membri del team che hanno bisogno di imparare le pratiche sicure di gestione dei file.

Domande Frequenti

Implementazione del Codice

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.