Сегодня я решил рассказать Вам о командах к ftp серверу. Нужны они, в основном, при работе в консоле, так как в графическом режиме проще всего использовать любой из FTP клиентов, например бесплатный FTP клиент Filezilla.
FTP (File Transfer Protocol) – Это сетевой протокол, который служит для копирования файлов с одного компьютера на другой по средствам либо локальной сети, либо сети интернет. FTP использует 21 порт.
Здесь так же стоит отметить, что протокол FTP уязвим, ваши данные при передаче не шифруются, и могут легко быть перехвачены злоумышленниками. Для более безопасной передачи данных, используйте протокол SFTP (Secure File Transfer Protocol). Протокол SFTP использует точно такие же команды, как и FTP.
Используйте один из следующих вариантов обращения к серверу:
|
1 2 3 |
ftp ftp.example.com
ftp 1.2.3.4
ftp user@ftp.example.com |
Вы должны знать имя пользователя и пароль, для аутентификации с правами пользователя, в противном случае, Вы можете авторизоваться как анонимный пользователь. Давайте попробуем авторизоваться на ftp.freebsd.org как аноним. Откройте терминал, и выполните команду:
|
1 |
ftp ftp.freebsd.org |
Сессия проходит следующим образом:
|
1 2 3 4 5 6 7 8 9 10 11 |
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 |
ftp> |
После этого, Вы можете пользоваться ftp сервером, при помощи команд.
Задача: Просмотреть файлы в директории
Просто выполните команду ls на сервере:
|
1 |
ftp> ls |
Вывод будет примерно таким:
|
1 2 3 4 5 6 7 8 9 10 |
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 |
ftp> cd ИмяДиректории |
Например, чтобы попасть в директорию pub, нужно выполнить команду:
|
1 |
ftp> cd pub |
После того, как всё прошло удачно, мы получим положительный ответ от сервера:
|
1 |
250 CWD command successful. |
Задача: Скачать или скопировать фаил
Для того, чтобы скопировать один файл с удалённого ftp сервера, к себе на компьютер, используйте команду get.
|
1 2 |
get fileName
get fileName newFileName |
Для того, чтобы скопировать файл README.TXT с ftp.freebsd.org нужно быть в директории с этим файлом и выполнить команду
|
1 |
ftp> get README.TXT |
Вот вывод этой команды:
|
1 2 3 4 5 6 7 |
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 |
ftp> get data.tar.gz backup.tar.gz |
Все файлы копируются в текущую локальную директорию. Для того, чтобы изменить текущую локальную директорию, используйте команду:
|
1 2 |
ftp> lcd /путь/до/новой/директории
ftp> lcd /tmp |
Вывод:
|
1 |
Local directory now: /tmp |
Узнать текущую директорию можно командой:
|
1 |
ftp> lpwd |
Вывод:
|
1 |
/tmp |
Команда lpwd показывает текущую директорию на локальном компьютере, чтобы узнать директорию на удалённом ftp сервере, используйте команду pwd:
|
1 |
ftp> pwd |
Вывод:
|
1 |
Remote directory: /pub/FreeBSD |
Задача: Скачать несколько файлов
Для того, чтобы скачать сразу несколько файлов с удалённого ftp сервера на локальный компьютер используйте команду mget. Перед скачиванием каждого файла Вам нужно будет подтвердить копирование Да/Нет (Y/N), чтобы избежать этого, используйте команду mget с -i. Чтобы скачать все файлы введите:
|
1 |
ftp> mget * |
Чтобы скачать все файлы с расширением php:
|
1 |
ftp> mget *.php |
Задача: Удалить файл
Для того, чтобы удалить файл на удалённом ftp сервере используйте команду delete
|
1 2 |
ftp> delete ИмяФайла
ftp> delete output.jpg |
Задача: Загрузить один файл
Для того, чтобы загрузить только один файл на ftp сервер используйте команду put
|
1 |
ftp> put ИмяФайла |
Для примера, загрузим на ftp сервер логотип
|
1 |
ftp> put logo.jpg |
Задача: Загрузить несколько файлов
Для того, чтобы загрузить сразу несколько файлов с локального компьютера на удалённый ftp сервер следует использовать команду mput, Вам так же нужно будет перед каждой загрузкой отвечать Да/Нет (Y/N) на вопрос о загрузке файла. В примере показана загрузка всех файлов с локального компьютера (с текущей директории)
|
1 2 |
ftp> mput *
ftp> mput *.php |
Задача: Создание директории
Для того, чтобы создать новую директорию используйте команду mkdir
|
1 2 3 4 |
ftp> mkdir ИмяДиректории
ftp>mkdir backup
ftp>cd backup
ftp>pwd |
Задача: Удаление директории
Для удаления директории используйте команду rmdir
|
1 2 3 |
ftp>rmdir ИмяДиректории
ftp>rmdir images
ftp>ls |
Задача: Выбор режима передачи данных
Для того чтобы передавать файлы в режиме ASCII введите:
|
1 |
ftp>ascii |
Следует учитывать, что режим ASCII используется по умолчанию, в этом режиме рекомендуется передавать текстовые файлы.
Для того, чтобы передавать файлы в режиме binary введите:
|
1 |
ftp>binary |
Режим binary более предпочтителен для изображений, архивов и так далее. В этом режиме меньше шансов получить ошибку при передаче.
Задача: Присоединиться к другому FTP серверу
Для того, чтобы присоединиться к другому ftp серверу, используйте команду open:
|
1 |
ftp>open ftp.yandex.ru |
Таким образом мы присоединимся к ftp серверу ftp.yandex.ru. Вы так же должны знать имя пользователя и пароль, но так же можете использовать анонимный вход, если сервер это поддерживает.
Задача: Закрытие ftp сессии
Просто введите quit или bye
|
1 |
ftp>quit |
или
|
1 |
ftp>bye |
Вывод:
|
1 |
221 Goodbye. |
Как мне узнать больше о командах к ftp серверу?
Наберите ? или help для того, чтобы узнать больше о командах ftp.
|
1 2 |
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 |
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 |
ftp>help ИмяКоманды
ftp>help chmod |
Вывод:
|
1 |
chmod change file permissions of remote file |
На этом собственно и всё. Основные команды мы рассмотрели. Теперь Вы сможете без проблем управляться с FTP с командной строки.

