Большинство руководств по 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-инструментов регулярно? Или есть другой инструмент, который, по вашему мнению, заслуживает места в этом списке? Поделитесь в комментариях.






Пока нет комментариев. Будьте первым!