Ftp команда не найдена linux

Обновлено: 02.07.2024

Наши партнеры

ИМЯ
ftp - протокол передачи файлов

ОПИСАНИЕ
Программа ftp позволяет передавать файлы на удаленный компьютер или получать их оттуда, и работает с файлами и каталогами удаленного компьютера.

РАБОТА С FTP.
Чтобы использовать программу ftp, вам нужно открыть связь между вашей и удаленной машиной, куда или откуда вы хотите переместить файл. Эта программа позволяет вам иметь несколько связей одновременно, хотя вы можете давать команды, которые воздействуют только на одну связь. Многомашинная связь позволяет вам связаться с несколькими машинами за один сеанс работы ftp. Вам нет необходимости вновь регистрироваться на другой машине, когда вы хотите сменить машину для связи. Связь, которая используется в данный момент, называется текущей связью.

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

Вызов ftp.
Чтобы вызвать ftp из оболочки UNIX, введите команду ftp. Когда команда это выполнено, на вашем экране появится приглашение этой команды. Оно выглядит следующим образом: Вы можете указать имя машины, с которой хотите связаться, хотя это необязательно. Следующий пример показывает как записывается имя машины ftp.botik.ru: Это эквивалентно использованию команды ftp open для установления связи с машиной, которую вы назвали. Вы можете также вызвать ftp без имени машины, например: Если вы не установили имя машины при вызове ftp, вы должны открыть связь с этой машиной в ftp. Это делается используя ftp open команду до того как вы начали передавать файлы. Для более детальной информации по этому вопросу смотрите раздел "Описание ftp команд" дальше в этой главе.

Ограничение для ftp команд.
Есть несколько расширенных команд, предоставляющих дополнительные удобства пользователю. Но не все серверы ftp их понимают. Команды, использование которых будет описано позже в этой главе, имеют определенные ограничения. Программа ftp может предоставить список поддерживаемых команд. Для получения такой информации нужно использовать команду remotehelp после установления связи с удаленной машиной.

Примеры работы ftp.
Этот раздел иллюстрирует как можно использовать ftp. Ниже даны три примера. В этих примерах используются две машины, локальная машина с именем HERE и удаленная машина с именем THERE.

Описание 1 примера.
Этот пример показывает использование ftp для посылки и приема файлов. Команда ftp вызывается с именем главной машины и происходит автоматическая регистрация пользователя на другой машине, т.к. не используется опция -n.

Пользователь, используя команду ls, получает аббревиатурный листинг каталога /etc машины THERE. команда ftp выдает три файла в каталоге /etc. Команда get passwd затем копирует файл passwd с машины THERE в машину HERE. Файл по имени passwd создается в машине HERE, если было указано имя машины.

Команда put используется, чтобы скопировать файл по имени wall из текущего рабочего каталога локальной машины (HERE) в каталог /etc удаленной машины (THERE). Этот файл копируется с тем же именем, т. к. свое имя не было указано. После окончания передачи, появляется листинг /etc, в котором уже четыре файла, включая wall, который был только что скопирован с машины HERE.

>ты лучше скажи что тебе надо получить.. а то непонятно что ты
>хочешь.. просто фтп с анонимным доступом ?

Да-да, просто ftp с анонимным доступом. Чтобы некоторые пакеты потом можно было с ftp качать.


>Проверить коннект можно консольным ftp:
>ftp YOUR_SRV_IP

При проверке коннекта у меня выдает, что команда не найдена, т.е.

ftp 192.168.1.1
bash: ftp: command not found

Это конечно очень странно. Поищи также ncftp
И очень помогает locate ftp - может просто команда не прописана в пути поиска?
>Это конечно очень странно. Поищи также ncftp
>И очень помогает locate ftp - может просто команда не прописана в
>пути поиска?

О! Спасибо! Команда ftp нашлась =)) Только теперь, почему-то, просто не коннектится. Это что-то с настройками vsftpd.conf?


>>Это конечно очень странно. Поищи также ncftp
>>И очень помогает locate ftp - может просто команда не прописана в
>>пути поиска?
>
>
>О! Спасибо! Команда ftp нашлась =)) Только теперь, почему-то, просто не коннектится.
>Это что-то с настройками vsftpd.conf?

Через xinetd работает vsftpd? Если да, то проверь файл /etc/xinetd/vsftp, надо там дописать only_from=0.0.0.0
Параметр отвечает за то, какие хосты получат доступ к твоему серверу. В данном случае - все. :)

>Через xinetd работает vsftpd? Если да, то проверь файл /etc/xinetd/vsftp, надо там
>дописать only_from=0.0.0.0
>Параметр отвечает за то, какие хосты получат доступ к твоему серверу. В
>данном случае - все. :)

Спасибо! Но проблема у меня в том, что я про ftp почти ничего не знаю, и мне пришлось "ставить его".
А через что работает vsftpd не знаю. Но скорее всего не через xinetd, так как у меня нет файла /etc/xinet/vsftpd
Вроде через initd работает (если это правильно, о чем я говорю). У меня есть каталог /etс/initd и есть файл /etc/inetd.conf

>Вроде через initd работает (если это правильно, о чем я говорю). У
>меня есть каталог /etс/initd и есть файл /etc/inetd.conf

Правильно, бывает и так. А позвольте узнать, какая именно ОС стоит - FreeBSD, Linux, какие именно (дистриб. и версия)?


>Правильно, бывает и так. А позвольте узнать, какая именно ОС стоит -
>FreeBSD, Linux, какие именно (дистриб. и версия)?

Стоит Linux Debian Woody 3.0

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

Протокол FTP (File Transfer Protocol), как несложно догадаться из его названия, предназначен для передачи файлов между компьютерами. Ввиду того, что он предусматривает передачу паролей без шифрования, он является одним из самых небезопасных сетевых протоколов наряду с протоколом Telnet и не должен использоваться в случае поддержки сервером таких более безопасных протоколов для передачи файлов, как sftp и ftps. Помимо утилиты ftp в Linux для работы с серверами FTP могут также использоваться утилиты с графическим интерфейсом, такие, как Filezilla или Nautilus. FTP-серверы принимают соединения на порту 21; для передачи данных используются другие порты, что затрудняет использование межсетевых экранов.

Базовый синтаксис команды выглядит следующим образом:

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

bye

exit

quit

close

disconnect

dir [имя удаленной директории] [имя локального файла]

ls [имя удаленной директории] [имя локального файла]

get <имя удаленного файла> [имя локального файла]

recv <имя удаленного файла> [имя локального файла]

help [команда]

? [команда]

mdir [имена директорий] [имя локального файла]

mls [имена директорий] [имя локального файла]

nlist [имена директорий] [имя локального файла]

put <имя локального файла> [имя удаленного файла]

send <имя локального файла> [имя удаленного файла]

Установка утилиты

В том случае, если в комплекте поставки вашего дистрибутива не содержится утилиты ftp, вам придется установить ее; проще всего это сделать с помощью терминала путем исполнения соответствующей вашему дистрибутиву команды. Подробнее об установке программного обеспечения рассказано в данном разделе.

Команда для Linux Mint и Ubuntu:

Команда для Fedora Workstation:

Примеры использования

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

Для начала нужно соединиться с сервером. В данном случае используется анонимный сервер TELE2, поэтому в качестве имени пользователя вводится anonymous, а в качестве пароля — пустая строка (для ее ввода достаточно просто нажать на клавишу Enter).

Сервер позволяет загружать файлы лишь в директорию upload, поэтому следует перейти в нее.

ftp> cd upload
250 Directory successfully changed.

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

ftp> passive
Passive mode on.

Теперь можно перейти в директорию с загружаемыми файлами на локальной системе и использовать команду mput для загрузки файлов. Команда поддерживает шаблоны имен файлов и именно с помощью такого шаблона на сервер загружаются три файла изображения:

ftp> lcd nolf228/
Local directory now /home/alexu/nolf228
ftp> mput *.jpg
mput nolf228.jpg? y
227 Entering Passive Mode (90,130,70,73,97,210).
150 Ok to send data.
226 Transfer complete.
190576 bytes sent in 0.16 secs (1.1299 MB/s)
mput splash1024.jpg? y
227 Entering Passive Mode (90,130,70,73,86,152).
150 Ok to send data.
226 Transfer complete.
270176 bytes sent in 0.21 secs (1.2126 MB/s)
mput splash1280.jpg? y
227 Entering Passive Mode (90,130,70,73,84,122).
150 Ok to send data.
226 Transfer complete.
385734 bytes sent in 0.40 secs (943.9138 kB/s)

Для завершения работы утилиты достаточно ввести команду quit:

ftp> quit
221 Goodbye.

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

Как и в случае загрузки файлов на сервер, в первую очередь нужно соединиться с ним. В случае анонимного сервера TELE2 используется имя пользователя anonymous и пустой пароль (ввод которого осуществляется путем простого нажатия на клавишу Enter):

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

ftp> passive
Passive mode on.

Чтобы убедиться в наличии на сервере нужных файлов, следует вывести список файлов из текущей директории сервера с помощью команды ls:

ftp> ls
227 Entering Passive Mode (90,130,70,73,94,9).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 1073741824000 Feb 19 2016 1000GB.zip
-rw-r--r-- 1 0 0 107374182400 Feb 19 2016 100GB.zip
-rw-r--r-- 1 0 0 102400 Feb 19 2016 100KB.zip
-rw-r--r-- 1 0 0 104857600 Feb 19 2016 100MB.zip
-rw-r--r-- 1 0 0 10737418240 Feb 19 2016 10GB.zip
-rw-r--r-- 1 0 0 10485760 Feb 19 2016 10MB.zip
-rw-r--r-- 1 0 0 1073741824 Feb 19 2016 1GB.zip
-rw-r--r-- 1 0 0 1024 Feb 19 2016 1KB.zip
-rw-r--r-- 1 0 0 1048576 Feb 19 2016 1MB.zip
-rw-r--r-- 1 0 0 209715200 Feb 19 2016 200MB.zip
-rw-r--r-- 1 0 0 20971520 Feb 19 2016 20MB.zip
-rw-r--r-- 1 0 0 2097152 Feb 19 2016 2MB.zip
-rw-r--r-- 1 0 0 3145728 Feb 19 2016 3MB.zip
-rw-r--r-- 1 0 0 524288000 Feb 19 2016 500MB.zip
-rw-r--r-- 1 0 0 53687091200 Jul 24 2014 50GB.zip
-rw-r--r-- 1 0 0 52428800 Feb 19 2016 50MB.zip
-rw-r--r-- 1 0 0 524288 Feb 19 2016 512KB.zip
-rw-r--r-- 1 0 0 5242880 Feb 19 2016 5MB.zip
drwxr-xr-x 2 106 109 69632 Apr 01 13:41 upload
226 Directory send OK.

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

ftp> get 1MB.zip
local: 1MB.zip remote: 1MB.zip
227 Entering Passive Mode (90,130,70,73,99,63).
150 Opening BINARY mode data connection for 1MB.zip (1048576 bytes).
226 Transfer complete.
1048576 bytes received in 4.15 secs (247.0279 kB/s)

И, как обычно, работа с утилитой заканчивается вводом команды quit:

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

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

FTP соединение

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

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

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

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

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

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

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

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

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

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

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

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

mkdir <имя директории> - создание новой директории (каталога):

rmdir <имя директории> - удаление директории (каталога):

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

delete <имя файла> - удаляет файл на удаленном ftp сервере:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стилизованное приглашение терминала Linux

Протокол передачи файлов старше, чем большинство наших читателей, но он все еще работает. FTP не имеет безопасности современного протокола, но вам все равно может понадобиться его использовать. Вот как это сделать.

Предупреждение: не используйте FTP через Интернет

Давайте проясним это с самого начала: протокол передачи файлов (FTP) восходит к началу 1970-х годов и был написан без какого-либо отношения к безопасности. Он не использует шифрование ни для чего. Учетные данные, такие как имя пользователя и пароль, а также загружаемые или загружаемые данные передаются в виде открытого текста. Любой желающий может просмотреть ваши секреты. Тем не менее, FTP все еще имеет свое применение.

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

Но определенно не используйте команду ftp для доступа к внешним ресурсам через Интернет. Для этого используйте программу командной строки sftp , которая использует защищенный протокол передачи файлов SSH. Мы представим обе эти программы в этом уроке.

Чтобы выяснить, почему вы никогда не хотите использовать FTP через Интернет, взгляните на скриншот ниже. Он показывает пароль FTP в виде открытого текста. Любой человек в вашей сети или между вами и FTP-сервером в Интернете может легко увидеть пароль «MySecretPassword».

Без шифрования злоумышленник также может изменять файлы, которые вы загружаете или загружаете в пути.

Трассировка сетевых пакетов с открытым текстом пароля

Команда ftp

Если у вас есть действующая учетная запись на FTP-сайте, вы можете подключиться к ней с помощью следующей команды. В этой статье замените IP-адрес в командах IP-адресом FTP-сервера, к которому вы подключаетесь.

Предупреждение . ftp следует использовать только для подключения к серверам в доверенной локальной сети. Используйте команду sftp , описанную ниже, для передачи файлов через Интернет.

Команда соединения ftp в окне терминала

Обратите внимание, что отображается IP-адрес сайта, к которому вы подключаетесь, а затем ваше имя пользователя Linux. Если имя вашей учетной записи на FTP-сервере совпадает с именем пользователя Linux, просто нажмите клавишу Enter. Это будет использовать ваше имя пользователя Linux в качестве имени учетной записи на FTP-сервере. Если ваше имя пользователя Linux и имя учетной записи FTP различаются, введите имя пользователя учетной записи FTP и нажмите клавишу ВВОД.

Вам будет предложено ввести пароль для FTP-сайта. Введите свой пароль и нажмите Enter. Ваш пароль не отображается на экране. Если комбинация имени учетной записи пользователя FTP и пароля подтверждена FTP-сервером, вы войдете в систему на FTP-сервере.

Вы увидите приглашение ftp> .

залогинился в учетной записи ftp в окне терминала

Осматривая и получая файлы

Во-первых, вы, вероятно, захотите получить список файлов на FTP-сервере. Команда ls делает именно это. Наш пользователь видит, что файл gc.c находится на FTP-сервере, и хочет загрузить его на свой компьютер. Его компьютер является «локальным компьютером» на языке FTP.

Команда для получения (или «получения») файла — это get . Поэтому наш пользователь выдает команду get gc.c Они набирают get , пробел, а затем имя файла, который они хотят получить.

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

передача файлов ftp в окне терминала

Чтобы получить несколько файлов одновременно, используйте команду mget (множественное получение). Команда mget попросит вас подтвердить, хотите ли вы загружать каждый файл по очереди. Ответьте, нажав «y» для «да» и «n» для «нет».

Это было бы утомительно для большого количества файлов. По этой причине коллекции связанных файлов обычно хранятся на FTP-сайтах в виде отдельных файлов tar.gz или tar.bz2 .

Команда mget в окне терминала

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

В зависимости от разрешений, предоставленных вашей учетной записи FTP, вы можете загружать (или «помещать») файлы на сервер. Чтобы загрузить файл, используйте команду put . В нашем примере пользователь загружает файл с именем Songs.tar.gz на FTP-сервер.

положить команду в окне терминала

Как вы, вероятно, и ожидаете, есть команда для одновременной загрузки нескольких файлов на FTP-сервер. Это называется mput (множественный mput ). Как и команда mget , mput запросит подтверждение «y» или «n» для загрузки каждого файла, один за другим.

Тот же аргумент для помещения наборов файлов в архивы tar применяется для размещения файлов, как и для получения файлов. Наш пользователь загружает несколько файлов «.odt» с помощью следующей команды:

команда mput в окне терминала

Создание и изменение каталогов

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

Чтобы изменить каталоги на сервере ftp, используйте команду cd . Когда вы используете команду cd приглашение ftp> не изменится, чтобы отразить ваш новый текущий каталог. Команда pwd (печать рабочего каталога) покажет вам ваш текущий каталог.

Наш пользователь ftp создает каталог с именем music, переходит в этот новый каталог, подтверждает свое pwd с помощью команды pwd затем загружает файл в этот каталог.

Команды cd pwd и mkdir в окне терминала

Для быстрого перемещения в родительский каталог текущего каталога используйте команду cdup .

команда cdup в окне терминала

Доступ к локальному компьютеру

Чтобы изменить каталог на локальном компьютере, вы можете использовать команду lcd командной строке ftp> . Однако легко потерять отслеживание того, где вы находитесь в локальной файловой системе. Более удобный способ доступа к локальной файловой системе — использовать ! команда.

! Команда открывает окно оболочки для локального компьютера. В этой оболочке вы можете делать все, что можете в стандартном окне терминала. Когда вы вводите команду exit вы возвращаетесь к приглашению ftp> .

Наш пользователь использовал ! Команда и вошел в окно оболочки на локальном компьютере. Они ls команду ls чтобы увидеть, какие файлы присутствуют в этом каталоге, и набрали команду exit чтобы вернуться к приглашению ftp> .

! команда оболочки в окне терминала

Переименование файлов

Чтобы переименовать файлы на FTP-сервере, используйте команду rename . Здесь наш пользователь FTP переименовывает файл с rename а затем использует команду ls для ls списка файлов в каталоге.

переименовать команду в окне терминала

Удаление файлов

Для удаления файлов на FTP-сервере используйте команду delete . Чтобы удалить несколько файлов одновременно, используйте команду mdelete . Вам будет предложено предоставить подтверждение «y» или «n» для удаления каждого файла.

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

ls команды delete и mdelete в окне терминала

Использование команды sftp

Когда они подключаются, им сообщают, что соединение установлено. Им также сообщают, что подлинность хоста не может быть проверена. Это нормально для первого подключения нового хоста. Они нажимают «y», чтобы принять соединение.

Поскольку имя учетной записи пользователя ( demo ) было передано в командной строке, у них не запрашивается имя учетной записи пользователя. Они запрашиваются только для пароля. Это введено, проверено и принято, и они представлены с приглашением sftp> .

подключение к сайту sftp в окне терминала

Команды FTP, которые мы описали выше, будут работать точно так же в сеансе SFTP со следующими исключениями.

  • Для удаления файла используйте rm (FTP использует delete )
  • Для удаления нескольких файлов используйте rm (FTP использует mdelete )
  • Для перехода в родительский каталог используйте cd .. (FTP использует cdup )

Наш пользователь использовал несколько команд в своем сеансе SFTP. Они используют ls для ls списка файлов и cd для перехода в каталог pub. Они использовали pwd для печати рабочего каталога.

Команды sftp в окне терминала

В мире Linux существуют и другие варианты передачи файлов, в частности, scp ( безопасное копирование ), но мы сосредоточились здесь на FTP и SFTP. Используемые в соответствующих сценариях, эти две команды хорошо послужат вам и вашим потребностям в хранении и поиске файлов.

Читайте также: