Подключение ftp консоли linux

Connecting to FTP via the Linux command line

I need to upload files via FTP from the command line. I have this information: a URL, a username, a password, a port, and the fact that I am supposed to use passive mode. How do I upload a file given this information? Note that I am having to do this from a script, so I need to be able to enter this information automatically.

ftp happens do be one FTP client. Others might be better suited depending on what the user wants. Simply linking to a man page isn’t exactly helpful.

3 Answers 3

There’s many CLI (command line) clients out there. Most common is simply ftp . You’ve got , , , and «passive mode». Using ftp you should do:

-p switch means «use passive mode». Then you’ll be asked about your username and password. After successful login (server let you know about that), you are able to give some commands. Type help and press «enter» to get list of commands available. You can use e.g. cd , ls , mkdir ftp commands to change working directory (on the server), list its contents and create a new directory. If before running ftp you were in the same directory as you files you want to send, you can use put or mput command to start actual transfer. First command sends one file, second multiple files using globbing (e.g. mput *pdf will send all pdf files in current directory). To get simple help about command you can use help from within ftp app. I’d say that’s enough for starters. For the rest use man ftp or info ftp . To end ftp session type bye . There are other ways to do that but I think this one is just elegant :).

As for the other clients, some interesting choices were pointed here, but I personally use lftp . It’s just solid, good, flexible and easy to use ftp client. If you prefer more visual approach while still being under command line, you can go for mc or «Midnight Command». It’s general application file manager utilizing Norton Commander paradigm, but can be also used to access ftp servers.

Источник

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

FTP (File Transfer Protocol — протокол передачи файлов) — это популярный сетевой протокол, который используется для копирования файлов с одного компьютера на другой в локальной сети, либо в сети Интернет. FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году.

Протокол FTP уязвим, то есть FTP не может зашифровать свой трафик, все передачи — открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Для безопасной передачи данных, используется протокол SFTP (Secure File Transfer Protocol). В отличие от стандартного FTP он шифрует и команды, и данные, защищая пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот. Далее рассмотрим основные команды для работы с FTP программой.

Читайте также:  Linux mint настройка файла подкачки

FTP соединение

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

Для начала фтп соединения достаточно ввести команду ftp например:

После нажатия клавиши enter вывод команды будет следующим:

Connected to test.hostinghutor.com (114.55.5.11). 220 test.hostinghutor.com FTP Server ready. Name (test.hostinghutor.com:ftpuser): 

Другой способ для соединения — это запуск ftp из консоли, а после этого соединение с ftp-сервером с помощью команды open :

ftp ftp> test.hostinghutor.com 

Кроме того, возможно соединиться и по ip:

Или с таким обращением ftp user@ftp.site.com , то есть:

ftp ftpuser@test.hostinghutor.com

Далее необходимо ввести логин и пароль ftp-соединения.

После успешной авторизации будет сообщение такого вида:

230 User ftpuser logged in Remote system type is UNIX. Using binary mode to transfer files. ftp>

Из сообщения видно, что для передачи файлов используется двоичный (бинарный) тип передачи. Двоичный режим передачи файлов — это передача файлов в том виде, в котором они хранятся на FTP сервере. Режим Ascii (текстовый) используется для передачи только текстовых файлов. Вы можете вводить команды ascii или binary для переключения между режимами передачи. Бинарный режим (binary) необходимо использовать для всех нетекстовых типов файлов — изображения, архивы, программы и т.д.

Команды для навигации

Итак, перейдем к командам для навигации и перехода по каталогам ftp-сервера:

pwd — команда покажет текущую директорию на ftp-сервере:

ftp> pwd 257 "/" is the current directory

ls — команда покажет список файлов и каталогов в текущей директории:

ftp> ls 227 Entering Passive Mode. 150 Opening ASCII mode data connection for file list -rw-r--r-- 1 ftpuser ftpuser 3034978 Jun 31 19:02 file1.tar.gz -rw-r--r-- 1 ftpuser ftpuser 30842294 Jul 31 20:08 file2.tar.gz -rw-r--r-- 1 ftpuser ftpuser 67798316 Jul 31 19:46 file3.tar.gz -rw-r--r-- 1 ftpuser ftpuser 6001252 Jan 17 12:02 file4.zip -rw-r--r-- 1 ftpuser ftpuser 31386394 Jan 17 11:28 file5.tar.gz drwxr-xr-x 2 ftpuser ftpuser 4 Jan 17 20:23 www -rw-r--r-- 1 ftpuser ftpuser 48546694 Jan 17 11:33 file6.zip 226 Transfer complete

cd – команда для перехода в нужную директорию:

ftp> cd www 250 CWD command successful

Проверяем командой pwd :

ftp> pwd 257 "/www" is the current directory

mkdir — создание новой директории (каталога):

ftp> mkdir tmp 257 "/tmp" - Directory successfully created

rmdir — удаление директории (каталога):

ftp> rmdir tmp 250 RMD command successful

Удаление файлов на ftp сервере

delete — удаляет файл на удаленном ftp сервере:

ftp> delete test1.sql 250 DELE command successful

Скачивание файлов с ftp

get — скачать файл на локальную машину. get fileName или get fileName newFileName

ftp> get file.zip local: file.zip remote: file.zip 227 Entering Passive Mode. 150 Opening BINARY mode data connection for file.zip (486694 bytes) 226 Transfer complete 486694 bytes received in 0.229 secs (6.5e+04 Kbytes/sec)

Скачиваем file.zip на локальную машину как file2.zip:

ftp> get file.zip file2.zip local: file2.zip remote: file.zip 227 Entering Passive Mode . 150 Opening BINARY mode data connection for file.zip (486694 bytes) 226 Transfer complete 486694 bytes received in 0.306 secs (9.4e+04 Kbytes/sec)

С помощью команды get с удаленного ftp сервера файлы копируются в текущую локальную директорию. Чтобы изменить текущую локальную директорию нужно использовать команду lcd :

Читайте также:  Find linux file types

lcd – изменить текущую директорию на локальной машине:

ftp> lcd /root Local directory now /root

Чтобы скачать несколько файлов с удаленного ftp сервера на локальную машину можно использовать команду mget :

ftp> mget *.sql mget test2.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test2.sql (23957080 bytes) 226 Transfer complete 23957080 bytes received in 0.233 secs (1e+05 Kbytes/sec) mget test1.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test1.sql (11873185 bytes) 226 Transfer complete 11873185 bytes received in 0.135 secs (8.6e+04 Kbytes/sec)

Скачивание каждого файла необходимо подтверждать (да / нет) y/n .

Еще один вариант скачивания mget :

ftp> mget test1.sql test2.sql mget test1.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test1.sql (11873185 bytes) 226 Transfer complete 11873185 bytes received in 0.101 secs (1.1e+05 Kbytes/sec) mget test2.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test2.sql (23957080 bytes) 226 Transfer complete 23957080 bytes received in 0.204 secs (1.1e+05 Kbytes/sec)

Загрузка файлов на ftp сервер

put — команда для загрузки одного файла на ftp сервер:

ftp> put test1.sql local: test1.sql remote: test1.sql 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test1.sql 226 Transfer complete 11873185 bytes sent in 0.129 secs (9e+04 Kbytes/sec)

Для загрузки нескольких файлов сразу можно использовать команду mput :

ftp> mput test1.sql test2.sql mput test1.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test1.sql 226 Transfer complete 11873185 bytes sent in 0.0964 secs (1.2e+05 Kbytes/sec) mput test2.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test2.sql 226 Transfer complete 23957080 bytes sent in 0.354 secs (6.6e+04 Kbytes/sec)

Загрузку каждого файла необходимо подтверждать y / n (да / нет).

Еще один вариант команды mput :

ftp> mput *.sql mput test1.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test1.sql 226 Transfer complete 11873185 bytes sent in 0.0985 secs (1.2e+05 Kbytes/sec) mput test2.sql? y 227 Entering Passive Mode. 150 Opening BINARY mode data connection for test2.sql 226 Transfer complete 23957080 bytes sent in 0.2 secs (1.2e+05 Kbytes/sec)

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

hash — команда после которой ftp будет печатать символ «#» каждые 1024 байт данных:

ftp> hash Hash mark printing on (1024 bytes/hash mark). put file2.tar.gaz ########################## 226 Transfer complete 785888111 bytes sent in 6.94 secs (1.1e+05 Kbytes/sec)

tick — команда будет отображать счетчик байтов:

ftp> tick Hash mark printing off. Tick counter printing on (10240 bytes/tick increment). ftp> put file2.tar.gz local: file2.tar.gz remote: file2.tar.gz 227 Entering Passive Mode. 150 Opening BINARY mode data connection for file2.tar.gz Bytes transferred: 912706618 //-> счетчик 226 Transfer complete 912706618 bytes sent in 8.08 secs (1.1e+05 Kbytes/sec)

Вот и весь базовый набор команд для работы с ftp в консоле. Для просмотра списка доступных команл на данном FTP сервере можно использовать команду help :

ftp> help Commands may be abbreviated. Commands are: ! debug mdir sendport site $ dir mget put size account disconnect mkdir pwd status append exit mls quit struct ascii form mode quote system bell get modtime recv sunique binary glob mput reget tenex bye hash newer rstatus tick case help nmap rhelp trace cd idle nlist rename type cdup image ntrans reset user chmod lcd open restart umask close ls prompt rmdir verbose cr macdef passive runique ? delete mdelete proxy send 

Также, можно получить короткую справку по каждой команде help :

ftp> help status status show current status ftp> help quit quit terminate ftp session and exit ftp> help bye bye terminate ftp session and exit

И в завершение, две команды, которые выше quit или bye для закрытия ftp-сессии и выхода:

Читайте также:  What is kernel panic error in linux

Подробную информацию с описанием команд можно получить с помощью man ftp в командной строке:

# man ftp Formatting page, please wait. FTP(1) BSD General Commands Manual FTP(1) NAME ftp - Internet file transfer program SYNOPSIS ftp [-Apinegvd] [host] pftp [-Apinegvd] [host] . . 

Скидка на все домены Украины до 21.10.2022!

Скидка на все домены Украины до 21.10.2022!

Уважаемые пользователи! Целую неделю у нас скидка -15% на регистрацию всех украинских доменов по промокоду defendersday22!

Подорожание ряда украинских доменов UA ccTLD!

Подорожание ряда украинских доменов UA ccTLD!

Уважаемые пользователи! С 1 октября 2022 нас ждет подорожание в ряде украинских доменов — in.ua, od.ua, mk.ua!

Важные изменения в работе ряда украинских доменных имен!

Важные изменения в работе ряда украинских доменных имен!

Уважаемые пользователи! В некоторых украинских доменных зонах увеличен срок периода Redemption с 30 до 60 дней.

Существенное подорожание выделенных IP-адресов (IPv4) в Германии!

Существенное подорожание выделенных IP-адресов (IPv4) в Германии!

Уважаемые пользователи! В Германии существенно подорожали дополнительные выделенные IP-адреса (IPv4) и IP-сети.

Коронавирус Coronavirus (COVID-19) и кибермошенники в сети Интернет

Коронавирус Coronavirus (COVID-19) и кибермошенники в сети Интернет

Паника вокруг коронавируса COVID-19 используется кибермошенниками в сети Интернет — фишинг, продажа масок, вакцин и тестов.

Не отправляется почта - проверяем не блокирует ли провайдер 25 порт

Не отправляется почта — проверяем не блокирует ли провайдер 25 порт

Проверяем блокирует ли провайдер 25 порт с помощью командной строки в ОС Windows. Как отправлять почту если 25 порт заблокирован.

Как установить Clam AntiVirus (ClamAV) на VPS или сервер с ОС CentOS

Как установить Clam AntiVirus (ClamAV) на VPS или сервер с ОС CentOS

Устанавливаем Clam AntiVirus (ClamAV) на VPS / VDS или выделенный сервер с ОС CentOS и настраиваем ежедневное сканирование сервера.

ISPmanager больше не поддерживает резервное копирование в Яндекс.Диск

ISPmanager больше не поддерживает резервное копирование в Яндекс.Диск

В течении недели Яндекс.Диск исчезнет из списка хранилища для резервного копирования в панеле ISPmanager и других продуктах ISPsystem.

Источник

Оцените статью
Adblock
detector