Saltar al contenido
🛠️ToolsShed

SFTP Commands Reference

Hoja de trucos completa de comandos SFTP para transferencia de archivos sobre SSH.

27 comandos

sftpConexión

Connect to SFTP server

Sintaxis:

sftp [user@]host[:path]

Ejemplo:

sftp user@example.com
sftp -PConexión

Connect on a specific port

Sintaxis:

sftp -P <port> user@host

Ejemplo:

sftp -P 2222 user@example.com
sftp -iConexión

Connect using identity/key file

Sintaxis:

sftp -i <keyfile> user@host

Ejemplo:

sftp -i ~/.ssh/id_rsa user@example.com
exit / quit / byeConexión

Close the SFTP connection

Sintaxis:

exit

Ejemplo:

exit
lsNavegación

List remote directory contents

Sintaxis:

ls [-l] [path]

Ejemplo:

ls -l /home/user
llsNavegación

List local directory contents

Sintaxis:

lls [path]

Ejemplo:

lls ~/Downloads
pwdNavegación

Print remote working directory

Sintaxis:

pwd

Ejemplo:

pwd
lpwdNavegación

Print local working directory

Sintaxis:

lpwd

Ejemplo:

lpwd
cdNavegación

Change remote directory

Sintaxis:

cd <path>

Ejemplo:

cd /var/www/html
lcdNavegación

Change local directory

Sintaxis:

lcd <path>

Ejemplo:

lcd ~/projects
getTransferencia

Download file from remote to local

Sintaxis:

get <remote> [local]

Ejemplo:

get backup.tar.gz
get -rTransferencia

Download directory recursively

Sintaxis:

get -r <dir> [local]

Ejemplo:

get -r /remote/dir ./local
putTransferencia

Upload file from local to remote

Sintaxis:

put <local> [remote]

Ejemplo:

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

Upload directory recursively

Sintaxis:

put -r <dir> [remote]

Ejemplo:

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

Download multiple files matching pattern

Sintaxis:

mget <pattern>

Ejemplo:

mget *.log
mputTransferencia

Upload multiple files matching pattern

Sintaxis:

mput <pattern>

Ejemplo:

mput *.jpg
regetTransferencia

Resume an interrupted download

Sintaxis:

reget <remote> <local>

Ejemplo:

reget bigfile.zip bigfile.zip
rmGestión

Remove remote file

Sintaxis:

rm <path>

Ejemplo:

rm /tmp/old.log
rmdirGestión

Remove remote directory

Sintaxis:

rmdir <path>

Ejemplo:

rmdir /tmp/olddir
mkdirGestión

Create remote directory

Sintaxis:

mkdir <path>

Ejemplo:

mkdir /var/www/uploads
renameGestión

Rename or move remote file

Sintaxis:

rename <old> <new>

Ejemplo:

rename old.txt new.txt
chmodGestión

Change remote file permissions

Sintaxis:

chmod <mode> <path>

Ejemplo:

chmod 644 index.html
chownGestión

Change remote file owner

Sintaxis:

chown <owner> <path>

Ejemplo:

chown www-data file.php
dfInformación

Show remote disk usage

Sintaxis:

df [-h]

Ejemplo:

df -h
statInformación

Show file attributes

Sintaxis:

stat <path>

Ejemplo:

stat /etc/passwd
versionInformación

Show SFTP protocol version

Sintaxis:

version

Ejemplo:

version
helpInformación

Show all available commands

Sintaxis:

help

Ejemplo:

help

Acerca 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 run

Comments & Feedback

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