Сегодня я решил рассказать Вам о командах к ftp серверу. Нужны они, в основном, при работе в консоле, так как в графическом режиме проще всего использовать любой из FTP клиентов, например бесплатный FTP клиент Filezilla.
FTP (File Transfer Protocol) — Это сетевой протокол, который служит для копирования файлов с одного компьютера на другой по средствам либо локальной сети, либо сети интернет. FTP использует 21 порт.
Здесь так же стоит отметить, что протокол FTP уязвим, ваши данные при передаче не шифруются, и могут легко быть перехвачены злоумышленниками. Для более безопасной передачи данных, используйте протокол SFTP (Secure File Transfer Protocol). Протокол SFTP использует точно такие же команды, как и FTP.
Используйте один из следующих вариантов обращения к серверу:
1 2 3 4 5 |
ftp ftp.example.com ftp 1.2.3.4 ftp user@ftp.example.com |
Вы должны знать имя пользователя и пароль, для аутентификации с правами пользователя, в противном случае, Вы можете авторизоваться как анонимный пользователь. Давайте попробуем авторизоваться на ftp.freebsd.org как аноним. Откройте терминал, и выполните команду:
1 2 3 |
ftp ftp.freebsd.org |
Сессия проходит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Trying 2001:6c8:2:600::132... Trying 2001:4f8:0:2::e... Trying 149.20.64.73... Connected to ftp.freebsd.org. 220 Welcome to freebsd.isc.org. Name (ftp.freebsd.org:logi.cc): ftp 331 Please specify the password. Password: ftp 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. |
Когда Вы введёте собственные имя пользователя и пароль для сервера ftp.example.com, у Вас появиться строка:
1 2 3 |
ftp> |
После этого, Вы можете пользоваться ftp сервером, при помощи команд.
Задача: Просмотреть файлы в директории
Просто выполните команду ls на сервере:
1 2 3 |
ftp> ls |
Вывод будет примерно таким:
1 2 3 4 5 6 7 8 9 10 11 12 |
ftp> ls 229 Entering Extended Passive Mode (|||49734|) 150 Opening ASCII mode data connection for '/bin/ls'. total 10 drwxrwxr-x 2 0 5 512 Jul 19 2007 .snap drwx------ 2 0 0 2048 Jul 19 2007 lost+found drwxr-xr-x 3 1006 1006 512 Sep 21 2009 pub drwxr-xr-x 3 1006 1006 512 Jun 5 2007 sup drwxr-xr-x 4 1006 0 512 Sep 18 2009 www 226 Transfer complete. |
Таким образом, мы видим, какие файлы и папки находятся в текущей удалённой директории.
Задача: Поменять директорию
Для того, чтобы поменять директорию на ftp сервере, используйте команду cd.
1 2 3 |
ftp> cd ИмяДиректории |
Например, чтобы попасть в директорию pub, нужно выполнить команду:
1 2 3 |
ftp> cd pub |
После того, как всё прошло удачно, мы получим положительный ответ от сервера:
1 2 3 |
250 CWD command successful. |
Задача: Скачать или скопировать фаил
Для того, чтобы скопировать один файл с удалённого ftp сервера, к себе на компьютер, используйте команду get.
1 2 3 4 |
get fileName get fileName newFileName |
Для того, чтобы скопировать файл README.TXT с ftp.freebsd.org нужно быть в директории с этим файлом и выполнить команду
1 2 3 |
ftp> get README.TXT |
Вот вывод этой команды:
1 2 3 4 5 6 7 8 9 |
ftp> get README.TXT local: README.TXT remote: README.TXT 229 Entering Extended Passive Mode (|||49181|) 150 Opening BINARY mode data connection for 'README.TXT' (6430 bytes). 100% |*************************************| 6430 32.64 KB/s 00:00 ETA 226 Transfer complete. 6430 bytes received in 00:00 (32.62 KB/s) |
А в этом примере я копирую файл data.tar.gz с удалённого сервера, в файл backup.tar.gz на локальный компьютер:
1 2 3 |
ftp> get data.tar.gz backup.tar.gz |
Все файлы копируются в текущую локальную директорию. Для того, чтобы изменить текущую локальную директорию, используйте команду:
1 2 3 4 |
ftp> lcd /путь/до/новой/директории ftp> lcd /tmp |
Вывод:
1 2 3 |
Local directory now: /tmp |
Узнать текущую директорию можно командой:
1 2 3 |
ftp> lpwd |
Вывод:
1 2 3 |
/tmp |
Команда lpwd показывает текущую директорию на локальном компьютере, чтобы узнать директорию на удалённом ftp сервере, используйте команду pwd:
1 2 3 |
ftp> pwd |
Вывод:
1 2 3 |
Remote directory: /pub/FreeBSD |
Задача: Скачать несколько файлов
Для того, чтобы скачать сразу несколько файлов с удалённого ftp сервера на локальный компьютер используйте команду mget. Перед скачиванием каждого файла Вам нужно будет подтвердить копирование Да/Нет (Y/N), чтобы избежать этого, используйте команду mget с -i. Чтобы скачать все файлы введите:
1 2 3 |
ftp> mget * |
Чтобы скачать все файлы с расширением php:
1 2 3 |
ftp> mget *.php |
Задача: Удалить файл
Для того, чтобы удалить файл на удалённом ftp сервере используйте команду delete
1 2 3 4 |
ftp> delete ИмяФайла ftp> delete output.jpg |
Задача: Загрузить один файл
Для того, чтобы загрузить только один файл на ftp сервер используйте команду put
1 2 3 |
ftp> put ИмяФайла |
Для примера, загрузим на ftp сервер логотип
1 2 3 |
ftp> put logo.jpg |
Задача: Загрузить несколько файлов
Для того, чтобы загрузить сразу несколько файлов с локального компьютера на удалённый ftp сервер следует использовать команду mput, Вам так же нужно будет перед каждой загрузкой отвечать Да/Нет (Y/N) на вопрос о загрузке файла. В примере показана загрузка всех файлов с локального компьютера (с текущей директории)
1 2 3 4 |
ftp> mput * ftp> mput *.php |
Задача: Создание директории
Для того, чтобы создать новую директорию используйте команду mkdir
1 2 3 4 5 6 |
ftp> mkdir ИмяДиректории ftp>mkdir backup ftp>cd backup ftp>pwd |
Задача: Удаление директории
Для удаления директории используйте команду rmdir
1 2 3 4 5 |
ftp>rmdir ИмяДиректории ftp>rmdir images ftp>ls |
Задача: Выбор режима передачи данных
Для того чтобы передавать файлы в режиме ASCII введите:
1 2 3 |
ftp>ascii |
Следует учитывать, что режим ASCII используется по умолчанию, в этом режиме рекомендуется передавать текстовые файлы.
Для того, чтобы передавать файлы в режиме binary введите:
1 2 3 |
ftp>binary |
Режим binary более предпочтителен для изображений, архивов и так далее. В этом режиме меньше шансов получить ошибку при передаче.
Задача: Присоединиться к другому FTP серверу
Для того, чтобы присоединиться к другому ftp серверу, используйте команду open:
1 2 3 |
ftp>open ftp.yandex.ru |
Таким образом мы присоединимся к ftp серверу ftp.yandex.ru. Вы так же должны знать имя пользователя и пароль, но так же можете использовать анонимный вход, если сервер это поддерживает.
Задача: Закрытие ftp сессии
Просто введите quit или bye
1 2 3 |
ftp>quit |
или
1 2 3 |
ftp>bye |
Вывод:
1 2 3 |
221 Goodbye. |
Как мне узнать больше о командах к ftp серверу?
Наберите ? или help для того, чтобы узнать больше о командах ftp.
1 2 3 4 |
ftp>? ftp>help |
Вывод:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
ftp> ? Commands may be abbreviated. Commands are: ! features mls prompt site $ fget mlsd proxy size account form mlst put sndbuf append ftp mode pwd status ascii gate modtime quit struct bell get more quote sunique binary glob mput rate system bye hash mreget rcvbuf tenex case help msend recv throttle cd idle newer reget trace cdup image nlist remopts type chmod lcd nmap rename umask close less ntrans reset unset cr lpage open restart usage debug lpwd page rhelp user delete ls passive rmdir verbose dir macdef pdir rstatus xferbuf disconnect mdelete pls runique ? edit mdir pmlsd send epsv4 mget preserve sendport exit mkdir progress set |
Вы можете получить короткое описание каждой команды:
1 2 3 4 |
ftp>help ИмяКоманды ftp>help chmod |
Вывод:
1 2 3 |
chmod change file permissions of remote file |
На этом собственно и всё. Основные команды мы рассмотрели. Теперь Вы сможете без проблем управляться с FTP с командной строки.
Список выручил, спасибо.
Спасибо большое!
Плюсую в карму : )
Спасибо. Очень помогла Ваша информация
Как папку скопировать елки палки ?
Могу посоветовать попробовать
mget *
Спасибо!
Очень благодарен!
Годнота