Большинство руководств по Linux по-прежнему рекомендуют одни и те же FTP-клиенты, которые перечисляли годами ранее, хотя некоторые из этих проектов больше не поддерживаются. Установив такой клиент сегодня, вы рискуете столкнуться с ошибками, проблемами совместимости или отсутствием функций вместо простой передачи файлов.

FTP (File Transfer Protocol): стандартный сетевой протокол, используемый для передачи файлов между клиентом и сервером по сети.

FTP-клиенты изначально были утилитами командной строки, задолго до того как графические файловые менеджеры стали обычным явлением. Даже сегодня многие разработчики продолжают поддерживать консольные FTP-клиенты, потому что они быстры, легковесны и удобны для использования в сценариях и запланированных задачах.

Для многих системных администраторов Linux набрать команду часто бывает быстрее и практичнее, чем использовать графический файловый менеджер.

В этом списке собраны FTP-клиенты, которые продолжают активно поддерживаться и удобны в использовании сегодня. Мы исключили устаревшие утилиты, не обновлявшиеся годами, и включили надёжные варианты, которыми многие пользователи Linux и системные администраторы продолжают пользоваться для повседневной передачи файлов.

1. FTP

Каждый крупный дистрибутив Linux включает базовый клиент FTP для командной строки, который запускается командой ftp в терминале.

Он позволяет подключаться к FTP-серверу анонимно (если сервер разрешает) или с указанием имени пользователя и пароля. После подключения можно просматривать каталоги, загружать и скачивать файлы, создавать каталоги, переименовывать или удалять файлы, а также автоматизировать рутинную передачу данных с помощью сценариев.

Учитывайте, что FTP не является защищённым протоколом. Имена пользователей, пароли и передаваемые данные отправляются по сети в открытом виде, а значит, могут быть перехвачены. Для передачи конфиденциальных файлов используйте SFTP (SSH File Transfer Protocol) или SCP (Secure Copy), поскольку оба протокола шифруют данные при передаче.

2. LFTP

LFTP: бесплатный консольный клиент с открытым исходным кодом, который поддерживает множество протоколов: FTP, FTPS, SFTP, HTTP, HTTPS, FISH и даже BitTorrent. Проект активно развивается и считается одним из самых мощных инструментов для передачи файлов в Linux.

По сравнению со стандартным клиентом ftp, LFTP предлагает множество расширенных возможностей: закладки, управление фоновыми задачами, историю команд, синхронизацию каталогов с помощью команды mirror и параллельную передачу файлов.

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

Установить LFTP можно из репозиториев большинства дистрибутивов Linux:

$ sudo apt install lftp         # Debian, Ubuntu, Linux Mint
$ sudo dnf install lftp         # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo emerge -a sys-apps/lftp  # Gentoo
$ sudo apk add lftp             # Alpine Linux
$ sudo pacman -S lftp           # Arch Linux
$ sudo zypper install lftp      # openSUSE

Одна из самых полезных функций LFTP: команда mirror, которая позволяет загрузить или скачать каталог целиком, синхронизируя обе стороны. Это особенно удобно для резервного копирования, развёртывания веб-сайтов или автоматических сборочных конвейеров.

Например, следующая команда загружает локальный каталог firmware на FTP-сервер и автоматически завершает работу после завершения передачи:

$ lftp -u builduser,'' -e "mirror -R /build/output/firmware /incoming/firmware; quit" ftp.internal.example.com

Вот что означают параметры:

  • -u builduser,'' выполняет вход от имени учётной записи builduser. Пустые кавычки означают отсутствие пароля.
  • -e "..." выполняет указанные команды сразу после подключения и затем завершает сеанс.
  • mirror -R загружает (обратное зеркалирование) локальный каталог /build/output/firmware в удалённый /incoming/firmware.
  • quit закрывает соединение после завершения передачи.

Возможность автоматизировать синхронизацию каталогов: одна из главных причин, по которой LFTP широко используется в сценариях, запланированных задачах и промышленных развёртываниях.

3. NcFTP

NcFTP: бесплатный консольный FTP-клиент, первая версия которого вышла в 1991 году как улучшенная альтернатива стандартной программе ftp для Unix. Несмотря на долгую историю, проект до сих пор поддерживается: версия 3.3.0 вышла в 2025 году.

NcFTP включает несколько удобных функций, упрощающих работу с FTP: автоматическое переподключение, фоновую передачу файлов, докачку прерванных загрузок, автодополнение имён файлов, индикаторы прогресса и историю команд. В комплекте также идут утилиты ncftpput и ncftpget, полезные для автоматизации выгрузки и загрузки в сценариях.

Установить NcFTP можно из репозиториев большинства дистрибутивов Linux:

$ sudo apt install ncftp         # Debian, Ubuntu, Linux Mint
$ sudo dnf install ncftp         # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo emerge -a sys-apps/ncftp  # Gentoo
$ sudo apk add ncftp             # Alpine Linux
$ sudo pacman -S ncftp           # Arch Linux
$ sudo zypper install ncftp      # openSUSE

Если вам нужен легковесный FTP-клиент с привычным интерфейсом командной строки и несколькими дополнительными удобствами по сравнению с обычным ftp, NcFTP остаётся надёжным выбором, особенно для интерактивных сеансов и несложной автоматизации.

4. cbftp

cbftp: продвинутый консольный клиент FTP/FXP, предназначенный для управления передачей файлов между несколькими FTP-серверами. Он работает в терминале с интерфейсом на базе ncurses, предоставляя текстовую систему меню, в которой ориентироваться проще, чем с традиционным командным приглашением.

В числе возможностей: встроенный просмотрщик файлов с поддержкой нескольких текстовых кодировок, списки пропуска для игнорирования определённых файлов или каталогов, удалённые UDP-команды для автоматизации передачи и шифрование AES-256 для защиты локального файла данных.

В отличие от других клиентов в этом списке, cbftp, как правило, отсутствует в стандартных репозиториях. Его можно собрать из исходного кода, размещённого на GitHub:

$ git clone https://github.com/cbftp/cbftp-svn.git
$ cd cbftp-svn
$ make
$ sudo mv bin/cbftp /usr/local/bin/

cbftp — мощный инструмент, но ориентирован он на опытных пользователей, которым нужно управлять несколькими FTP-серверами и автоматизировать сложные сценарии передачи. Для повседневной загрузки и выгрузки файлов обычно удобнее использовать LFTP или NcFTP.

5. tnftp

tnftp: расширенная версия традиционного FTP-клиента BSD. Это FTP-клиент по умолчанию в NetBSD, FreeBSD, OpenBSD и Darwin (macOS), и проект продолжает активно развиваться.

По сравнению со стандартным клиентом ftp, tnftp добавляет несколько удобств: автодополнение на стороне сервера, улучшенную обработку нескольких исходных файлов при передаче, а также ряд исправлений и оптимизаций производительности.

Если вы знакомы с обычной командой ftp, то tnftp работает практически так же, но предлагает более плавную работу.

В Debian и Ubuntu его можно установить напрямую из штатных репозиториев:

$ sudo apt install tnftp    # Debian и Ubuntu

Если ваш дистрибутив не предоставляет пакет, tnftp можно собрать из исходного кода, доступного на сайте проекта NetBSD. Если вы предпочитаете классическую команду ftp, но хотите более функциональную и активно поддерживаемую реализацию, tnftp — отличный выбор.

6. curl

curl предустановлен в большинстве дистрибутивов Linux и известен прежде всего как инструмент для работы с HTTP и HTTPS. Однако он также поддерживает FTP и FTPS, что делает его удобным вариантом для простых файловых передач.

Если нужно лишь загрузить или скачать файл из сценария или командной строки, curl часто проще, чем запускать интерактивный FTP-сеанс. Поэтому его охотно используют для автоматизации, резервного копирования и запланированных задач.

Например, следующая команда загружает файл на FTP-сервер:

$ curl -u username:password -T backup.tar.gz ftp://ftp.example.com/uploads/

Вот что означает каждый параметр:

  • -u username:password отправляет имя пользователя и пароль для аутентификации.
  • -T backup.tar.gz загружает локальный файл backup.tar.gz.
  • ftp://ftp.example.com/uploads/ указывает каталог назначения на FTP-сервере.

В большинстве дистрибутивов curl уже установлен. Если его нет, можно установить с помощью пакетного менеджера вашего дистрибутива:

If your goal is to perform quick FTP transfers from the command line or automate them in shell scripts, `curl` is one of the simplest and most reliable tools available.

7. rclone

rclone: консольная утилита, изначально предназначенная для синхронизации файлов с облачными хранилищами, но она также поддерживает FTP, SFTP, WebDAV и множество других бэкендов.

Это делает её отличным выбором, когда требуется передавать файлы между FTP-сервером и другим хранилищем, например Amazon S3, Google Drive или даже другим FTP-сервером.

В числе возможностей: проверка контрольных сумм, ограничение пропускной способности, докачка прерванных передач и синхронизация каталогов. Команда sync копирует только новые или изменённые файлы, сокращая время передачи и расход трафика.

Прежде чем работать с FTP-сервером через rclone, нужно создать удалённое подключение с помощью интерактивного мастера настройки:

$ rclone config

После того как соединение настроено (например, с именем mysite), можно синхронизировать локальный каталог с FTP-сервером:

$ rclone sync /var/www/html mysite:public_html --progress

Здесь:

  • sync копирует содержимое локального каталога /var/www/html в удалённый public_html.
  • mysite — имя FTP-подключения, созданного через rclone config.
  • --progress показывает ход передачи.

Установить rclone можно из репозиториев вашего дистрибутива:

$ sudo apt install rclone      # Debian, Ubuntu, Linux Mint
$ sudo dnf install rclone      # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo pacman -S rclone        # Arch Linux

Или установить последнюю версию с помощью официального скрипта:

$ curl https://rclone.org/install.sh | sudo bash

Если вы регулярно синхронизируете файлы между FTP-серверами, облачными хранилищами или локальными каталогами, rclone — один из самых гибких и многофункциональных инструментов.

8. aria2

aria2: легковесная консольная утилита для загрузок, поддерживающая HTTP, HTTPS, FTP, SFTP, BitTorrent и Metalink. Одно из главных её преимуществ — способность разбивать файл на несколько сегментов и загружать их одновременно, что может значительно ускорить скачивание, если сервер поддерживает несколько соединений.

Если вы загружаете большие ISO-образы, резервные копии или наборы данных с FTP-сервера, aria2 зачастую лучше базового FTP-клиента, потому что позволяет полностью использовать доступную полосу пропускания.

Например, следующая команда скачивает ISO-образ, используя восемь параллельных соединений:

$ aria2c -x 8 -s 8 ftp://ftp.example.com/isos/rocky-9.4-x86_64-dvd.iso

Параметры означают:

  • -x 8 разрешает до 8 одновременных подключений к FTP-серверу.
  • -s 8 разбивает файл на 8 сегментов для параллельной загрузки.
  • FTP-URL указывает файл для скачивания.

Установить aria2 можно из репозиториев:

$ sudo apt install aria2      # Debian, Ubuntu, Linux Mint
$ sudo dnf install aria2      # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo pacman -S aria2        # Arch Linux

Если вы часто загружаете большие файлы с FTP-серверов, aria2 — отличный выбор благодаря быстрой многопоточной загрузке, поддержке докачки и широкой совместимости с протоколами.

9. Axel

Axel: легковесный консольный ускоритель загрузок, поддерживающий HTTP, HTTPS, FTP и FTPS. Как и aria2, он может ускорять скачивание за счёт открытия нескольких соединений к одному серверу, но обладает гораздо более простым интерфейсом и меньшим числом настроек.

Если вам нужно просто быстрее скачать большой файл с FTP-сервера, Axel прост в использовании и практически не требует настройки. Например, следующая команда загружает файл в восемь потоков:

$ axel -n 8 ftp://ftp.example.com/isos/rocky-9.4-x86_64-dvd.iso

Параметр:

  • -n 8 открывает 8 одновременных соединений к FTP-серверу, позволяя загружать разные части файла параллельно.

Установить Axel можно из репозиториев:

$ sudo apt install axel      # Debian, Ubuntu, Linux Mint
$ sudo dnf install axel      # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo pacman -S axel        # Arch Linux

Если нужен простой инструмент, ускоряющий FTP-загрузки без лишних возможностей более продвинутых менеджеров закачек, Axel — хороший выбор.

10. Midnight Commander

Midnight Commander (MC): файловый менеджер для терминала с двухпанельным интерфейсом, который значительно упрощает работу с файлами из командной строки. Помимо локальных файлов, он умеет подключаться к FTP-серверам, позволяя работать с удалёнными файлами почти так же, как если бы они находились на вашем компьютере.

Когда вы открываете FTP-соединение в Midnight Commander, удалённый сервер отображается в одной панели, а локальные файлы — в другой. Затем можно копировать файлы между ними теми же комбинациями клавиш, что и при локальных операциях, не запоминая команды вроде get и put.

Запуск Midnight Commander:

$ mc

Чтобы подключиться к FTP-серверу:

  • Нажмите F9 для вызова меню.
  • Выберите Left или Right, в зависимости от того, какую панель хотите использовать.
  • Выберите FTP Link.
  • Введите данные сервера, например:
[[email protected]](/cdn-cgi/l/email-protection)

Установить Midnight Commander можно из репозиториев большинства дистрибутивов:

$ sudo apt install mc      # Debian, Ubuntu, Linux Mint
$ sudo dnf install mc      # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo pacman -S mc        # Arch Linux
$ sudo zypper install mc   # openSUSE

Если вы предпочитаете визуальный интерфейс с управлением с клавиатуры вместо набора FTP-команд, Midnight Commander — один из самых удобных инструментов для работы с файлами на локальных и удалённых системах.

11. Cyberduck CLI (duck)

duck: интерфейс командной строки для Cyberduck, популярного приложения для передачи файлов. Поддерживает FTP, FTPS, SFTP, WebDAV, Amazon S3 и ряд других облачных хранилищ, позволяя работать с разными бэкендами с помощью единого набора команд.

Это делает его хорошим выбором, если ваш рабочий процесс подразумевает использование как традиционных FTP-серверов, так и облачных сервисов — вам не придётся осваивать отдельный инструмент для каждого.

Например, следующая команда загружает локальный файл на FTP-сервер:

$ duck --username myuser --upload ftp://ftp.example.com/uploads/ ./release.tar.gz

Здесь:

  • --username myuser имя пользователя FTP.
  • --upload указание загрузить файл.
  • ftp://ftp.example.com/uploads/ каталог назначения на FTP-сервере.
  • ./release.tar.gz локальный файл для загрузки.

В Debian и Ubuntu установить duck можно из официального репозитория Cyberduck:

$ echo "deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main" | sudo tee /etc/apt/sources.list.d/cyberduck.list
$ sudo apt update
$ sudo apt install duck

Если нужен единый консольный инструмент, работающий как с FTP-серверами, так и с современными облачными хранилищами, Cyberduck CLI (duck) — гибкий вариант.

12. Wget

Wget: консольная утилита для загрузки файлов из интернета. Хотя чаще всего её применяют с HTTP и HTTPS, она также поддерживает FTP и FTPS, оставаясь надёжным средством для скачивания с FTP-серверов.

Особенно полезна для неинтерактивных загрузок, сценариев и задач по расписанию. Wget умеет докачивать прерванные загрузки и рекурсивно скачивать каталоги с FTP-сервера, что делает её отличным выбором, когда нужно получить большие коллекции файлов.

Чтобы скачать файл с FTP-сервера, укажите имя пользователя, пароль и FTP-URL:

$ wget ftp://username:password@ftp_server_address/path/to/file

Либо передать учётные данные отдельными параметрами, что часто удобнее для чтения и не требует встраивать их прямо в URL:

$ wget --ftp-user=username --ftp-password=password \
ftp://ftp_server_address/path/to/file

Wget предустановлен в большинстве дистрибутивов Linux. Если его нет, установите с помощью пакетного менеджера:

$ sudo apt install wget      # Debian, Ubuntu, Linux Mint
$ sudo dnf install wget      # RHEL, CentOS Stream, Fedora, Rocky Linux, AlmaLinux
$ sudo pacman -S wget        # Arch Linux
$ sudo zypper install wget   # openSUSE

Если вам нужно только скачать файлы или целые каталоги с FTP-сервера, не открывая интерактивный сеанс, Wget остаётся одним из самых простых и надёжных инструментов.

Заключение

Мы рассмотрели 12 консольных инструментов для работы по FTP, которые по-прежнему полезны и активно поддерживаются. Если вы ищете традиционный FTP-клиент, отличным выбором будут LFTP, NcFTP, tnftp и cbftp. Для автоматизации и сценариев подойдут curl, Wget, rclone, aria2, Axel и duck — от простой передачи файлов до облачной синхронизации и высокоскоростных параллельных загрузок.

Если вы предпочитаете более наглядный способ управления файлами в терминале, Midnight Commander предлагает удобный двухпанельный интерфейс для работы как с локальными, так и с удалёнными файлами.

Будь то передача одного файла, синхронизация каталогов, автоматизация резервного копирования или управление файлами на удалённых серверах — в этом списке найдётся инструмент практически для любого сценария.

Пользуетесь ли вы каким-либо из этих консольных FTP-инструментов регулярно? Или есть другой инструмент, который, по вашему мнению, заслуживает места в этом списке? Поделитесь в комментариях.