SFTP Commands Reference
Foglio di aiuto completo dei comandi SFTP per il trasferimento di file su SSH.
27 comandi
sftpConnessioneConnect to SFTP server
Sintassi:
sftp [user@]host[:path]Esempio:
sftp user@example.comsftp -PConnessioneConnect on a specific port
Sintassi:
sftp -P <port> user@hostEsempio:
sftp -P 2222 user@example.comsftp -iConnessioneConnect using identity/key file
Sintassi:
sftp -i <keyfile> user@hostEsempio:
sftp -i ~/.ssh/id_rsa user@example.comexit / quit / byeConnessioneClose the SFTP connection
Sintassi:
exitEsempio:
exitlsNavigazioneList remote directory contents
Sintassi:
ls [-l] [path]Esempio:
ls -l /home/userllsNavigazioneList local directory contents
Sintassi:
lls [path]Esempio:
lls ~/DownloadspwdNavigazionePrint remote working directory
Sintassi:
pwdEsempio:
pwdlpwdNavigazionePrint local working directory
Sintassi:
lpwdEsempio:
lpwdcdNavigazioneChange remote directory
Sintassi:
cd <path>Esempio:
cd /var/www/htmllcdNavigazioneChange local directory
Sintassi:
lcd <path>Esempio:
lcd ~/projectsgetTrasferimentoDownload file from remote to local
Sintassi:
get <remote> [local]Esempio:
get backup.tar.gzget -rTrasferimentoDownload directory recursively
Sintassi:
get -r <dir> [local]Esempio:
get -r /remote/dir ./localputTrasferimentoUpload file from local to remote
Sintassi:
put <local> [remote]Esempio:
put index.html /var/www/put -rTrasferimentoUpload directory recursively
Sintassi:
put -r <dir> [remote]Esempio:
put -r ./dist /var/www/mgetTrasferimentoDownload multiple files matching pattern
Sintassi:
mget <pattern>Esempio:
mget *.logmputTrasferimentoUpload multiple files matching pattern
Sintassi:
mput <pattern>Esempio:
mput *.jpgregetTrasferimentoResume an interrupted download
Sintassi:
reget <remote> <local>Esempio:
reget bigfile.zip bigfile.ziprmGestioneRemove remote file
Sintassi:
rm <path>Esempio:
rm /tmp/old.logrmdirGestioneRemove remote directory
Sintassi:
rmdir <path>Esempio:
rmdir /tmp/olddirmkdirGestioneCreate remote directory
Sintassi:
mkdir <path>Esempio:
mkdir /var/www/uploadsrenameGestioneRename or move remote file
Sintassi:
rename <old> <new>Esempio:
rename old.txt new.txtchmodGestioneChange remote file permissions
Sintassi:
chmod <mode> <path>Esempio:
chmod 644 index.htmlchownGestioneChange remote file owner
Sintassi:
chown <owner> <path>Esempio:
chown www-data file.phpdfInformazioniShow remote disk usage
Sintassi:
df [-h]Esempio:
df -hstatInformazioniShow file attributes
Sintassi:
stat <path>Esempio:
stat /etc/passwdversionInformazioniShow SFTP protocol version
Sintassi:
versionEsempio:
versionhelpInformazioniShow all available commands
Sintassi:
helpEsempio:
helpInformazioni 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 runComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.