Перейти к содержимому

SFTP Commands Reference

Полная шпаргалка команд SFTP для передачи файлов по SSH.

27 команд

sftpСоединение

Connect to SFTP server

Синтаксис:

sftp [user@]host[:path]

Пример:

sftp user@example.com
sftp -PСоединение

Connect on a specific port

Синтаксис:

sftp -P <port> user@host

Пример:

sftp -P 2222 user@example.com
sftp -iСоединение

Connect using identity/key file

Синтаксис:

sftp -i <keyfile> user@host

Пример:

sftp -i ~/.ssh/id_rsa user@example.com
exit / quit / byeСоединение

Close the SFTP connection

Синтаксис:

exit

Пример:

exit
lsНавигация

List remote directory contents

Синтаксис:

ls [-l] [path]

Пример:

ls -l /home/user
llsНавигация

List local directory contents

Синтаксис:

lls [path]

Пример:

lls ~/Downloads
pwdНавигация

Print remote working directory

Синтаксис:

pwd

Пример:

pwd
lpwdНавигация

Print local working directory

Синтаксис:

lpwd

Пример:

lpwd
cdНавигация

Change remote directory

Синтаксис:

cd <path>

Пример:

cd /var/www/html
lcdНавигация

Change local directory

Синтаксис:

lcd <path>

Пример:

lcd ~/projects
getПередача

Download file from remote to local

Синтаксис:

get <remote> [local]

Пример:

get backup.tar.gz
get -rПередача

Download directory recursively

Синтаксис:

get -r <dir> [local]

Пример:

get -r /remote/dir ./local
putПередача

Upload file from local to remote

Синтаксис:

put <local> [remote]

Пример:

put index.html /var/www/
put -rПередача

Upload directory recursively

Синтаксис:

put -r <dir> [remote]

Пример:

put -r ./dist /var/www/
mgetПередача

Download multiple files matching pattern

Синтаксис:

mget <pattern>

Пример:

mget *.log
mputПередача

Upload multiple files matching pattern

Синтаксис:

mput <pattern>

Пример:

mput *.jpg
regetПередача

Resume an interrupted download

Синтаксис:

reget <remote> <local>

Пример:

reget bigfile.zip bigfile.zip
rmУправление

Remove remote file

Синтаксис:

rm <path>

Пример:

rm /tmp/old.log
rmdirУправление

Remove remote directory

Синтаксис:

rmdir <path>

Пример:

rmdir /tmp/olddir
mkdirУправление

Create remote directory

Синтаксис:

mkdir <path>

Пример:

mkdir /var/www/uploads
renameУправление

Rename or move remote file

Синтаксис:

rename <old> <new>

Пример:

rename old.txt new.txt
chmodУправление

Change remote file permissions

Синтаксис:

chmod <mode> <path>

Пример:

chmod 644 index.html
chownУправление

Change remote file owner

Синтаксис:

chown <owner> <path>

Пример:

chown www-data file.php
dfИнформация

Show remote disk usage

Синтаксис:

df [-h]

Пример:

df -h
statИнформация

Show file attributes

Синтаксис:

stat <path>

Пример:

stat /etc/passwd
versionИнформация

Show SFTP protocol version

Синтаксис:

version

Пример:

version
helpИнформация

Show all available commands

Синтаксис:

help

Пример:

help

Об этом инструменте

SFTP (протокол передачи файлов SSH) — это безопасный способ передачи файлов между компьютерами через зашифрованное SSH-соединение. В отличие от более старых протоколов, таких как FTP, SFTP обеспечивает сквозное шифрование, защищая ваши данные от перехвата и гарантируя конфиденциальность учетных данных аутентификации. Этот справочник собирает наиболее часто используемые команды SFTP в одном месте, облегчая разработчикам, системным администраторам и инженерам DevOps выполнение файловых операций без необходимости запоминать синтаксис.

Используя SFTP из командной строки, вы можете подключаться к удаленным серверам, просматривать структуры каталогов, загружать и скачивать файлы, а также управлять разрешениями—все через защищенный туннель. Развертываете ли вы приложения, делаете резервные копии конфигураций или передаете журналы, команды SFTP, такие как get, put, ls и cd, являются фундаментальными инструментами в вашем рабочем процессе. Формат шпаргалки позволяет вам быстро найти синтаксис команд и параметры без переключения между несколькими страницами документации.

Этот инструмент наиболее ценен для всех, кто работает с удаленными серверами в производственных средах, где безопасность и надежность имеют решающее значение. Команды DevOps, системные администраторы и разработчики получают выгоду от быстрого справочника синтаксиса SFTP, особенно при устранении проблем с передачей файлов или подготовке новых членов команды, которые должны изучить безопасные практики работы с файлами.

Часто задаваемые вопросы

Реализация кода

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.