Разберем консольную программу 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Краткий итог
- Подключитесь к серверу командой
ftp <адрес>. - Войдите под своим логином и паролем.
- Настройте режимы:
binaryдля бинарных файлов,asciiдля текстовых. - Используйте
lcdдля смены локальной папки сохранения. - Скачивайте файлы через
getилиmget, загружайте черезputилиmput. - Завершите сессию командой
quit.