SFTP Commands Reference
Полная шпаргалка команд SFTP для передачи файлов по SSH.
27 команд
sftpСоединениеConnect to SFTP server
Синтаксис:
sftp [user@]host[:path]Пример:
sftp user@example.comsftp -PСоединениеConnect on a specific port
Синтаксис:
sftp -P <port> user@hostПример:
sftp -P 2222 user@example.comsftp -iСоединениеConnect using identity/key file
Синтаксис:
sftp -i <keyfile> user@hostПример:
sftp -i ~/.ssh/id_rsa user@example.comexit / quit / byeСоединениеClose the SFTP connection
Синтаксис:
exitПример:
exitlsНавигацияList remote directory contents
Синтаксис:
ls [-l] [path]Пример:
ls -l /home/userllsНавигацияList local directory contents
Синтаксис:
lls [path]Пример:
lls ~/DownloadspwdНавигацияPrint remote working directory
Синтаксис:
pwdПример:
pwdlpwdНавигацияPrint local working directory
Синтаксис:
lpwdПример:
lpwdcdНавигацияChange remote directory
Синтаксис:
cd <path>Пример:
cd /var/www/htmllcdНавигацияChange local directory
Синтаксис:
lcd <path>Пример:
lcd ~/projectsgetПередачаDownload file from remote to local
Синтаксис:
get <remote> [local]Пример:
get backup.tar.gzget -rПередачаDownload directory recursively
Синтаксис:
get -r <dir> [local]Пример:
get -r /remote/dir ./localputПередача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 *.logmputПередачаUpload multiple files matching pattern
Синтаксис:
mput <pattern>Пример:
mput *.jpgregetПередачаResume an interrupted download
Синтаксис:
reget <remote> <local>Пример:
reget bigfile.zip bigfile.ziprmУправлениеRemove remote file
Синтаксис:
rm <path>Пример:
rm /tmp/old.logrmdirУправлениеRemove remote directory
Синтаксис:
rmdir <path>Пример:
rmdir /tmp/olddirmkdirУправлениеCreate remote directory
Синтаксис:
mkdir <path>Пример:
mkdir /var/www/uploadsrenameУправлениеRename or move remote file
Синтаксис:
rename <old> <new>Пример:
rename old.txt new.txtchmodУправлениеChange remote file permissions
Синтаксис:
chmod <mode> <path>Пример:
chmod 644 index.htmlchownУправлениеChange remote file owner
Синтаксис:
chown <owner> <path>Пример:
chown www-data file.phpdfИнформацияShow remote disk usage
Синтаксис:
df [-h]Пример:
df -hstatИнформацияShow file attributes
Синтаксис:
stat <path>Пример:
stat /etc/passwdversionИнформацияShow SFTP protocol version
Синтаксис:
versionПример:
versionhelpИнформация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 runComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.