ftp

Ftp

Разберем консольную программу ftp подробно — с основами работы и практическими примерами.

Что такое консольная программа ftp

ftp — утилита командной строки для передачи файлов по протоколу FTP (File Transfer Protocol). Работает по модели «клиент–сервер»: вы подключаетесь к FTP‑серверу, чтобы загружать или скачивать файлы.

Важные предупреждения:

  • FTP не шифрует трафик. Логин, пароль и данные передаются в открытом виде. Для безопасной передачи используйте SFTP или SCP.
  • Права доступа. У вас должны быть права на чтение файлов для скачивания и на запись — для загрузки.
  • Большие файлы. При передаче объёмных данных запускайте ftp внутри сессии screen или tmux, чтобы не потерять соединение.

Подключение к FTP‑серверу

Чтобы подключиться, выполните команду:

ftp <адрес_сервера>

Где <адрес_сервера> — IP‑адрес или доменное имя. Например:

ftp 192.168.42.77

После подключения система запросит логин и пароль. Если сервер поддерживает анонимный доступ, используйте:

  • Логин: anonymous
  • Пароль: ваш e‑mail (можно любой)

Основные команды FTP

Внутри сессии ftp доступны следующие команды:

КомандаНазначение
help или ?Показать список всех команд
lsВывести список файлов и папок в текущей удалённой директории
cd <директория>Сменить текущую директорию на удалённом сервере
pwdПоказать текущую рабочую директорию на сервере
lcd <директория>Сменить локальную директорию (на вашем компьютере)
mkdir <имя_папки>Создать новую папку на сервере
rmdir <имя_папки>Удалить папку на сервере (должна быть пустой)
delete <файл>Удалить файл на сервере
rename <старое_имя> <новое_имя>Переименовать файл на сервере
get <файл>Скачать один файл с сервера
mget <шаблон>Скачать несколько файлов (можно использовать * и ?)
put <файл>Загрузить один файл на сервер
mput <шаблон>Загрузить несколько файлов
binaryПереключиться в бинарный режим (рекомендуется для всех файлов, кроме текстовых)
asciiПереключиться в текстовый режим (для .txt, .html и т. д.)
promptВключить/выключить запрос подтверждения при массовой передаче (mget/mput)
bye или quitЗавершить сессию и отключиться от сервера

Практические примеры

Пример 1. Подключение и просмотр содержимого

# Подключаемся к серверу
ftp example.com

# Вводим логин и пароль
Name: myusername
Password: ********

# Смотрим, где мы на сервере
ftp> pwd
257 "/home/myusername" is current directory

# Выводим список файлов
ftp> ls
-rw-r--r-- 1 user group     1234 Jan 01 10:00 file1.txt
drwxr-xr-x 2 user group     4096 Jan 02 11:00 myfolder

Пример 2. Скачивание файлов

Шаг 1. Меняем локальную папку (куда сохранятся файлы):

ftp> lcd ~/downloads/ftp_files
Local directory now /home/user/downloads/ftp_files

Шаг 2. Переключаемся в бинарный режим (важно для изображений, архивов и т. д.):

ftp> binary
Using binary mode to transfer files.

Шаг 3. Скачиваем один файл:

ftp> get backup.zip
local: backup.zip remote: backup.zip
200 PORT command successful
150 Opening BINARY mode data connection for backup.zip (6673256 bytes)
226 File successfully transferred
6673256 bytes received in 2.55 secs (2.49 MB/s)

Шаг 4. Скачиваем несколько файлов с подтверждением:

ftp> mget *.jpg
mget photo1.jpg? y
mget photo2.jpg? y

Шаг 5. Скачиваем без подтверждения:

ftp> prompt
Interactive mode off.
ftp> mget *.pdf

Пример 3. Загрузка файлов на сервер

Шаг 1. Переходим в нужную папку на сервере:

ftp> cd uploads
250 CWD command successful

Шаг 2. Загружаем один файл:

ftp> put report.docx
local: report.docx remote: report.docx
200 PORT command successful
150 Opening BINARY mode data connection for report.docx (96936 bytes)
226 File successfully transferred
96936 bytes sent in 0.42 secs (225 KB/s)

Шаг 3. Загружаем несколько файлов:

ftp> mput *.txt

Пример 4. Создание и удаление папок

# Создаём новую папку на сервере
ftp> mkdir new_project
257 "new_project" directory created

# Заходим в неё
ftp> cd new_project

# Удаляем файл внутри папки
ftp> delete temp.log
250 DELE command successful

# Возвращаемся на уровень выше и удаляем пустую папку
ftp> cd ..
ftp> rmdir new_project
250 RMD command successful

Пример 5. Завершение сессии

ftp> quit
221 Goodbye.

Полезные опции при запуске ftp

  • -p — включить пассивный режим (часто требуется за NAT/firewall);
  • -v — подробный вывод (verbose), показывает все ответы сервера;
  • -i — отключить запросы подтверждения при массовой передаче файлов (mget/ mput).

Пример:

ftp -p -v example.com

Краткий итог

  1. Подключитесь к серверу командой ftp <адрес>.
  2. Войдите под своим логином и паролем.
  3. Настройте режимы: binary для бинарных файлов, ascii для текстовых.
  4. Используйте lcd для смены локальной папки сохранения.
  5. Скачивайте файлы через get или mget, загружайте через put или mput.
  6. Завершите сессию командой quit.