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

