SFTP Commands Reference
Hoja de trucos completa de comandos SFTP para transferencia de archivos sobre SSH.
27 comandos
sftpConexiónConnect to SFTP server
Sintaxis:
sftp [user@]host[:path]Ejemplo:
sftp user@example.comsftp -PConexiónConnect on a specific port
Sintaxis:
sftp -P <port> user@hostEjemplo:
sftp -P 2222 user@example.comsftp -iConexiónConnect using identity/key file
Sintaxis:
sftp -i <keyfile> user@hostEjemplo:
sftp -i ~/.ssh/id_rsa user@example.comexit / quit / byeConexiónClose the SFTP connection
Sintaxis:
exitEjemplo:
exitlsNavegaciónList remote directory contents
Sintaxis:
ls [-l] [path]Ejemplo:
ls -l /home/userllsNavegaciónList local directory contents
Sintaxis:
lls [path]Ejemplo:
lls ~/DownloadspwdNavegaciónPrint remote working directory
Sintaxis:
pwdEjemplo:
pwdlpwdNavegaciónPrint local working directory
Sintaxis:
lpwdEjemplo:
lpwdcdNavegaciónChange remote directory
Sintaxis:
cd <path>Ejemplo:
cd /var/www/htmllcdNavegaciónChange local directory
Sintaxis:
lcd <path>Ejemplo:
lcd ~/projectsgetTransferenciaDownload file from remote to local
Sintaxis:
get <remote> [local]Ejemplo:
get backup.tar.gzget -rTransferenciaDownload directory recursively
Sintaxis:
get -r <dir> [local]Ejemplo:
get -r /remote/dir ./localputTransferenciaUpload file from local to remote
Sintaxis:
put <local> [remote]Ejemplo:
put index.html /var/www/put -rTransferenciaUpload directory recursively
Sintaxis:
put -r <dir> [remote]Ejemplo:
put -r ./dist /var/www/mgetTransferenciaDownload multiple files matching pattern
Sintaxis:
mget <pattern>Ejemplo:
mget *.logmputTransferenciaUpload multiple files matching pattern
Sintaxis:
mput <pattern>Ejemplo:
mput *.jpgregetTransferenciaResume an interrupted download
Sintaxis:
reget <remote> <local>Ejemplo:
reget bigfile.zip bigfile.ziprmGestiónRemove remote file
Sintaxis:
rm <path>Ejemplo:
rm /tmp/old.logrmdirGestiónRemove remote directory
Sintaxis:
rmdir <path>Ejemplo:
rmdir /tmp/olddirmkdirGestiónCreate remote directory
Sintaxis:
mkdir <path>Ejemplo:
mkdir /var/www/uploadsrenameGestiónRename or move remote file
Sintaxis:
rename <old> <new>Ejemplo:
rename old.txt new.txtchmodGestiónChange remote file permissions
Sintaxis:
chmod <mode> <path>Ejemplo:
chmod 644 index.htmlchownGestiónChange remote file owner
Sintaxis:
chown <owner> <path>Ejemplo:
chown www-data file.phpdfInformaciónShow remote disk usage
Sintaxis:
df [-h]Ejemplo:
df -hstatInformaciónShow file attributes
Sintaxis:
stat <path>Ejemplo:
stat /etc/passwdversionInformaciónShow SFTP protocol version
Sintaxis:
versionEjemplo:
versionhelpInformaciónShow all available commands
Sintaxis:
helpEjemplo:
helpAcerca de esta herramienta
SFTP (Protocolo de Transferencia de Archivos SSH) es un método seguro para transferir archivos entre computadoras a través de una conexión SSH encriptada. A diferencia de protocolos antiguos como FTP, SFTP proporciona encriptación de extremo a extremo, protegiendo sus datos de la interceptación y garantizando que las credenciales de autenticación permanezcan confidenciales. Esta guía de referencia recopila los comandos SFTP más utilizados en un solo lugar, facilitando que desarrolladores, administradores de sistemas e ingenieros de DevOps ejecuten operaciones de archivos sin necesidad de memorizar la sintaxis.
Utilizando SFTP desde la línea de comandos, puede conectarse a servidores remotos, examinar estructuras de directorios, cargar y descargar archivos, y administrar permisos—todo a través de un túnel seguro. Ya sea que esté implementando aplicaciones, realizando copias de seguridad de configuraciones o transfiriendo registros, los comandos SFTP como get, put, ls y cd son herramientas fundamentales en su flujo de trabajo. El formato de hoja de trucos le permite buscar rápidamente la sintaxis de comandos y opciones sin cambiar entre múltiples páginas de documentación.
Esta herramienta es más valiosa para cualquiera que trabaje con servidores remotos en entornos de producción donde la seguridad y la confiabilidad son importantes. Los equipos de DevOps, administradores de sistemas y desarrolladores se benefician de tener una referencia rápida para la sintaxis de SFTP, especialmente cuando se resuelven problemas de transferencia de archivos u se incorporan nuevos miembros del equipo que necesitan aprender prácticas seguras de manejo de archivos.
Preguntas Frecuentes
Implementación de Código
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.