• Скопировать файл ftp командной строки. Стандартная утилита Windows "FTP-клиент" из командной строки (CMD) - для резервного копирования или скачивания файлов без вашего участия (автоматически)

    28.06.2021

    Команды управления контролем передачи данных, которыми обмениваются "Интерпретатор протокола сервера" и "Интерпретатор протокола пользователя", можно разделить на три большие группы:

    Команды управления доступом к системе.

    Команды управления потоком данных.

    Команды FTP-сервиса.

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

    USER . Как правило, эта команда открывает сессию FTP между клиентом и сервером. Аргументом команды является имя (идентификатор) пользователя для работы с файловой системой. Эта команда может подаваться не только в начале, но и в середине сессии, если, например, пользователь желает изменить идентификатор, от имени которого будут проводиться действия. При этом все переменные, относящиеся к старому идентификатору, освобождаются. Если во время изменения идентификатора происходит обмен данными, обмен завершается со старым идентификатором пользователя.

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

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

    REIN . Команда реинициализации. Эта команда очищает все переменные текущего пользователя, сбрасывает параметры соединения. Если в момент подачи команды происходит передача данных, передача продолжается и завершается с прежними параметрами.

    QUIT. Команда закрывает управляющий канал. Если в момент подачи команды происходит передача данных, канал закрывается после окончания передачи данных.

    Команды управления потоком устанавливают параметры передачи данных. Все параметры, описываемые этими командами, имеют значение по умолчанию, поэтому команды управления потоком используются только тогда, когда необходимо изменить значение параметров передачи, используемых по умолчанию. Команды управления потоком могут подаваться в любом порядке, но все они должны предшествовать командам FTP-сервиса. Из команд управления потоком данных следует выделить следующие:

    PORT . Команда назначает адрес и порт хоста, который будет использоваться как активный участник соединения по каналу передачи данных. Аргументами команды являются 32-битный IP адрес и 16-битный номер порта соединения. Эти значения разбиты на шесть 8-битных полей и представлены в десятичном виде: h1, h2, h3, h4, p1, p2, где hN - байты адреса (от старшего к младшему), а pN - байты порта (от старшего к младшему).



    PASV. Эта команда отправляется модулю, который будет играть пассивную роль в передаче данных ("слушать" соединение). Ответом на данную команду должна быть строка, содержащая адрес и порт хоста, находящиеся в режиме ожидания соединения в формате команды PORT - "h1, h2, h3, h4, p1, p2".

    Команды TYPE, STRU, MODE определяют, соответственно, тип передаваемых данных (ASCII, Image и другие), структуру или формат передачи данных (File, Record, Page), способ передачи (Stream, Block и другие). Использование этих команд очень важно при построении взаимодействия в гетерогенных средах и весьма отличающихся операционных и файловых систем взаимодействующих хостов.

    Команды FTP-сервиса определяют действия, которые необходимо произвести с указанными файлами. Как правило, аргументом команд этой группы является путь к файлу. Синтаксис указанного пути должен удовлетворять требованиям формата файловой системы обработчика команды. Из команд FTP-сервиса можно выделить следующие:

    RETR. Эта команда указывает модулю "Программа передачи данных сервера" передать копию файла, заданного параметром этой команды, модулю передачи данных на другом конце соединения.

    STOR. Команда указывает модулю "Программа передачи данных сервера" принять данные по каналу передачи данных и сохранить их как файл, имя которого задано параметром этой команды. Если такой файл уже существует, он будет замещен новым, если нет, будет создан новый.

    Команды RNFR и RNTO должны следовать одна за другой. Первая команда содержит в качестве аргумента старое имя файла, вторая - новое. Последовательное применение этих команд переименовывает файл.

    ABOR. Команда предписывает серверу прервать выполнение предшествующей сервисной команды (например, передачу файла) и закрыть канал передачи данных.

    Команда DELE удаляет указанный файл.

    Команды MKD и RMD , соответственно, создают и удаляют указанный в аргументе каталог.

    При помощи команд LIST и NLST можно получить список файлов в указанном каталоге.

    Все команды FTP-протокола отправляются "Интерпретатором протокола пользователя" в текстовом виде - по одной команде в строке. Каждая строка команды - идентификатор и аргументы - заканчиваются символами . Имя команды отделяется от аргумента символом пробела - .

    Обработчик команд возвращает код обработки каждой команды, состоящий из трех цифр. Коды обработки составляют определенную иерархическую структуру и, как правило, определенная команда может возвратить только определенный набор кодов. За кодом обработки команды следует символ пробела - , затем следует текст пояснения. Например, строка успешного завершения операции выглядит следующим образом: "200 Command okay.

    Ниже приведен пример работы с FTP-протокола. Обозначения: S - сервер, U - пользователь.

    S: 220 Service ready for new user

    > S: 331 User name okay, need password

    S: 230 User logged in, proceed

    U: RETR test.txt

    S: 150 File status okay; about to open data connection

    <Идет передача файла...>

    S: 226 Closing data connection, file transfer successful

    S: 200 Command okay

    U: STOR /home/images/first.my

    S: 550 Access denied

    Команды и отклики передаются по управляющему соединению между клиентом и сервером в формате NVT ASCII. В конце каждой строки команды или отклика присутствует пара CR, LF.

    Единственные команды Telnet (начинающиеся с IAC), которые могут быть отправлены клиентом серверу - это команда прерывания процесса () и Telnet сигнал синхронизации ( в режиме срочности). Мы увидим, что эти две команды Telnet используются для прекращения передачи файла или для того, чтобы отправить серверу запрос в процессе передачи. Если сервер получает от клиента команду с Telnet опцией (WILL, WONT, DO или DONT), он отвечает либо DONT, либо WONT.

    Команды состоят из 3 или 4 байт, а именно из заглавных ASCII символов, некоторые с необязательными аргументами. Клиент может отправить серверу более чем 30 различных FTP команд. В таблице 5.1 показаны некоторые наиболее широко используемые команды, большинство из которых мы рассмотрим в этой главе.

    Таблица 5.1

    Распространенные FTP команды.

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

    Понадобилось мне ежечасно отправлять файлы отчетов на FTP сервер и также дублировать отправку этих файлов в почту нескольким адресатам. После недолгих изысканий остановился на встроенной утилите ftp.exe (C:\Windows\System32\ftp.exe) и старом добром blat. Итак начнем. Нам надо ежечасно загружать все XML файлы с директории %dir%\file_export (где %dir% путь к нашей папке) на сервер ftp.server.com.
    Новая версия на Python

    Настраиваем выгрузку файлов на FTP

    Создаем файл команд для ftp.exe
    Создаем текстовый документ (например ftpcomm.txt) в нем прописываем:
    login
    password
    cd IN
    binary

    bye
    где:
    login - логин ftp сервера
    pasword - пароль на ftp сервер
    cd IN - переходим в нужную папку
    binary - устанавливаем двоичный способ пересылки файлов. При этом файл при передаче не перекодируется и записывается в неизмененном виде. Это наиболее надежный способ передачи файлов.
    mput C:\%dir%\file_export\*.xml - копируем один или несколько локальных файлов на удаленный компьютер с указанием директории
    bye - конец FTP сессии и выход с FTP сервера
    Создаем файл export.bat
    В нем прописываем:

    где:
    C:\WINDOWS\system32\ftp.exe - Путь к утилите ftp.exe
    -s:c:\%dir%\ftpcomm.tx t - задаем путь к текстовому файлу содержащим команды FTP, команды будет автоматически запускаться после старта FTP.
    -i - отключение интерактивного режима при передаче нескольких файлов.
    ftp.server.com - прописываем адрес нашего FTP cервера.
    Проверяем работу запустив export.bat. Видим что файлы выгрузились на FTP сервер. Но тут возникает проблема, если нам надо выгружать файлы раз в час то как исключить повторное отправление файлов? Решение банальное:
    В файл export.bat дописываем:
    cd /d C:\%dir%\file_export\
    del *.xml
    где:
    cd /d C:\%dir%\file_export\ - переходим в директорию в которой хранятся файлы XML.
    del *.xml - удаляем все файлы XML.

    Настраиваем отправку файлов на электронную почту

    Для отправки файлов на почту используем утилиту blat (http://www.blat.net/). Скачиваем и Распаковываем в любой каталог, в нашем случае это c:\%dir\blat/
    Установка blat. Вызываем командную строку. В командной строке переходим к нашей папке:
    cd c:\%dir%\blat/
    Запускаем установку blat (прописываем профиль blat в реестр, данные прописываются в реестр системы Windows в ветку: .
    blat.exe -install smtp.yandex.ru Имя_ящика@yandex.ru 3 25 profile Имя_ящика@yandex.ru Ваш_Пароль
    Где:
    smtp.yandex.ru - имя почтового сервера, через который будет выполняться отправка электронных писем.
    Имя_ящика@yandex.ru - имя отправителя, которое будет отображаться в поле.
    3 - число попыток повторный отправки письма при сбое соединения с сервером.
    25 - номер порта SMTP-сервера.
    profile - имя профиля.
    Имя_ящика@yandex.ru - имя пользователя, которое будет использоваться при подключении к SMTP-серверу.
    Ваш_Пароль - пароль, используемый при подключении к SMTP-серверу, т.е. пароль к почтовому ящику.

    Добавление отправки писем в export.bat

    В файл export.bat после строчки
    C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
    Прописываем:

    где:
    -p profile – имя профиля blat (Указывали во время установки)
    -charset windows-1251 (Выбираем кодировку Windows)
    -to [email protected] – адрес получателя письма
    -subject "File export " - Тема письма
    -body "Auto export" – Тело письма
    -attach c:\%dir%\file_export\*.xml – файлы или файл которые необходимо отправить
    Если необходимо отправлять письма на несколько ящиков то прописываем данную строку несколько раз с указанием ящиков получателя:
    blat.exe -p profile -charset windows-1251 -to [email protected] -subject "File export " -body "Auto export" -attach c:\%dir%\file_export\*.xml
    blat.exe -p profile -charset windows-1251 -to [email protected] -subject "File export " -body "Auto export" -attach c:\%dir%\file_export\*.xml
    blat.exe -p profile -charset windows-1251 -to [email protected] -subject "File export " -body "Auto export" -attach c:\%dir%\file_export\*.xml

    Конечный файл export.bat

    В итоге мы получаем файл export.bat в котором имеем строки:
    C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
    blat.exe -p profile -charset windows-1251 -to [email protected] -subject "File export " -body "Auto export" -attach c:\%dir%\file_export\*.xml
    cd /d C:\%dir%\file_export\
    del *.xml
    В первой строке отправляем файлы на FTP сервер, во второй отправляем файлы электронной почтой, далее переходим в директорию где хранятся файлы и удаляем их.

    Отправление файлов по расписанию

    Напомню что нам необходимо отправлять файлы ежечасно, для этого создаем задачу в планировщике Windows. Где указываем что нам необходимо раз в час запускать export.bat.

    Итог

    В итоге мы имеем автоматизированную систему ежечасной отправки файлов на FTP сервер и электронную почту.

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

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

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

    $ ftp [параметры] [узел[:порт]]

    Утилита работает в интерактивном режиме и поддерживает ограниченное количество параметров. Наиболее важными параметрами являются параметры -4 и -6 , позволяющие использовать для связи с сервером лишь протокол IPv4 и IPv6 соответственно, параметр -p , позволяющий активировать пассивный режим (упрощающий работу в системах с межсетевыми экранами, защищающими от соединений извне), параметр -i , позволяющий не выводить запросы при передаче множества файлов в интерактивном режиме, параметр -n , запрещающий читать данные для входа на сервер из файла .netrc в домашней директории и осуществлять автоматический вход, параметр -e , деактивирующий поддержку механизма истории в рамках интерактивной сессии и параметр -g , деактивирующий поддержку механизма шаблонов имен файлов.

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

    Команда Назначение
    ! [команда] Выполнить команду в локальной системе
    ascii Активировать текстовый режим передачи данных (ASCII). Он используется по умолчанию.
    bell Использовать звуковой сигнал для индикации окончания передач файлов.
    binary Активировать бинарный режим передачи данных.

    bye

    exit

    Завершить работу утилиты.
    cd <директория> Изменить рабочую директорию на удаленной системе.
    chmod <права доступа> <имя файла> Изменить права доступа к файлу на удаленной системе.

    close

    disconnect

    Завершить сессию FTP с удаленным сервером и вернуться в интерактивный режим.
    cr Переключить режим обработки переходов на новые строки. При активации их обработки будет удаляться символ возврата каретки для совместимости с UNIX-системами.
    delete <имя файла> Удалить файл на удаленной системе.
    debug [уровень отладки] Активировать режим отладки с заданным уровнем. В этом режиме утилита будет выводить все отправляемые серверу команды и ответы на них.

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

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

    Вывести список содержимого директории на удаленной системе или записать его в файл на локальной системе в случае указания имени этого файла.

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

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

    Получить файл с удаленной системы и сохранить его под заданным именем в локальной системе.
    hash Выводить символ решетки для индикации передачи каждого 1024-байтового блока.

    help [команда]

    ? [команда]

    Вывести информацию о команде.
    idle [секунды] Установить длительность периода ожидания перед автоматическим разрывом соединения с сервером.
    ipany Использовать IP-адрес любого типа после разрешения имени сервера.
    ipv4 Использовать адрес IPv4 после разрешения имени сервера.
    ipv6 Использовать адрес IPv6 после разрешения имени сервера.
    lcd [имя директории] Изменить рабочую директорию в локальной системе.
    mdelete Удалить множество перечисленных файлов на удаленной системе.

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

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

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

    Вывести список содержимого множества перечисленных директорий на удаленной системе или записать его в файл на локальной системе в случае указания имени этого файла.
    mget [имена удаленных файлов] Получить множество перечисленных файлов с удаленной системы и сохранить его в локальной системе.
    mkdir <имя директории> Создать директорию с заданным именем на удаленной системе.
    modtime <имя файла> Показать время последней модификации файла на удаленной системе.
    mput <имена локальных файлов> Загрузить множество перечисленных локальных файлов на удаленную систему.
    newer <имя удаленного файла> [имя локального файла] Загрузить указанный файл с удаленной системы лишь в том случае, если он был изменен позднее указанного файла с локальной системы.
    open <имя узла> [порт] Установить соединение с сервером с заданным адресом и портом.
    passive Включить/выключить пассивный режим.
    prompt Переключить режим вывода подтверждений при передаче множества файлов.

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

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

    Загрузить указанный локальный файл на удаленную систему под заданным именем.
    pwd Вывести имя текущей директории на удаленной системе.
    reget <имя удаленного файла> [имя локального файла] Продолжить загрузку файла с заданным именем с удаленной системы с сохранением этого файла под заданным именем на локальной системе.
    rename [имя файла] [новое имя файла] Сменить имя файла на удаленной системе.
    rmdir <имя директории> Удалить директорию на удаленной системе.
    size <имя файла> Вывести размер файла на удаленной системе.
    system Вывести информацию об операционной системе сервера.
    umask Установить значение маски прав доступа для загружаемых на сервер файлов.
    user <имя пользователя> [пароль] Представиться серверу.

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

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

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

    $ sudo apt-get install ftp

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

    $ sudo dnf install ftp

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

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

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

    $ ftp speedtest.tele2.net
    220 (vsFTPd 2.3.5)
    Name (speedtest.tele2.net:alexu): anonymous
    Password:
    230 Login successful.
    Remote system type is UNIX.

    Сервер позволяет загружать файлы лишь в директорию 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 speedtest.tele2.net
    Connected to speedtest.tele2.net.
    220 (vsFTPd 2.3.5)
    Name (speedtest.tele2.net:alexd): anonymous
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.

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

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

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

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

    FTP соединение

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

    ftp test.hostingthutor.com

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

    Connected to test..55.5.11).
    220 test..
    Name (test.сайт:ftpuser):

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

    ftp
    ftp> test.сайт

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

    ftp 114.55.5.11

    Или с таким обращением ftp Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , то есть:

    ftp Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
    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.

    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 :

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

    ftp> lcd /root
    Local directory now /root

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

    ftp> mget *.sql
    mget test2.sql? y
    227 Entering Passive Mode.
    (23957080 bytes)
    226 Transfer complete
    23957080 bytes received in 0.233 secs (1e+05 Kbytes/sec)
    mget test1.sql? y
    227 Entering Passive Mode.
    (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.

    226 Transfer complete
    11873185 bytes received in 0.101 secs (1.1e+05 Kbytes/sec)
    mget test2.sql? y
    227 Entering Passive Mode.

    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-сессии и выхода:

    ftp> quit
    221 Goodbye.

    Подробную информацию с описанием команд можно получить с помощью 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]
    pftp [-Apinegvd]
    ................
    ...............

    FTP - важная утилита TCP/IP, предназначенная для пересылки файлов между системами. Одно из главных достоинств FTP - совместимость со множеством различных удаленных хост-систем: файлы можно пересылать между удаленными системами Win-dows 2000, Windows NT и UNIX, и даже серверами IBM, например AS/400. Для запуска утилиты FTP, имеющей текстовый интерфейс и поставляемой вместе с Windows 2000 и NT, достаточно ввести ftp в командной строке.

    Перечислим 10 наиболее полезных команд FTP.

    10. Help (или?). Многие команды FTP можно вводить по-разному. Например, Help и вопросительный знак (?) выполняют одну и ту же функцию. Новичкам следует начинать именно с команды Help, после ввода которой система предоставляет пользователю полный список команд FTP. Чтобы получить краткое описание команды, следует ввести? и следом - имя команды:

    Ftp>? open

    9. Open. Сеанс FTP обычно начинается с команды Open, устанавливающей соединение с указанным FTP-сервером (на удаленном узле должна работать служба FTP). Получив команду Open, система запрашивает ID пользователя и пароль. Многие FTP-серверы позволяют регистрироваться с анонимным ID и пустым паролем. Чтобы установить связь с компьютером с именем teca2, нужно ввести

    Ftp>open teca2

    8. Quit (или Bye). Команда Quit завершает любой открытый сеанс и выходит из оболочки FTP:

    Ftp>quit

    Чтобы закрыть открытый сеанс, не завершая работы FTP, следует использовать команду Close.

    7. Pwd. Команда Pwd отображает каталог на удаленной машине, с которым в данный момент установлена связь в рамках сеанса FTP:

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

    5. Cd. Если нужного файла нет в текущем каталоге удаленной системы, то с помощью команды Cd можно перейти в другой каталог. Если установлено соединение с машиной UNIX, то удаленный каталог обычно указывают через слеш с наклоном вправо (в данном случае каталог /downloads):

    Ftp>cd /downloads

    4. Lcd. Команда Lcd изменяет текущий каталог на локальной машине. Любые полученные с удаленной машины файлы по умолчанию будут записываться в текущий каталог. Чтобы изменить текущий локальный каталог на C: emp, следует ввести команду

    Ftp>lcd C: emp

    3. Bin (или Binary). По умолчанию, FTP пересылает файлы в формате ASCII, что удобно для текстовых файлов. Но для пересылки исполняемых и.zip-файлов необходимо изменить тип пересылки на двоичный с помощью команды Bin:

    Чтобы вернуться в режим ASCII, следует использовать команду ASCII.

    2. Put (или Send). Команда Put позволяет скопировать локальный файл в текущий каталог удаленной машины. Чтобы переслать файл с именем localfile.txt в каталог C: emp на удаленной системе, нужно ввести команду

    Ftp>put C: emp localfile.txt

    1. Get (или Recv). Команда Get используется для загрузки файлов из Internet (или с удаленных машин) в текущий каталог локальной машины. Чтобы получить файл с именем remotefile.txt, следует ввести команду

    Ftp>get remotefile.txt

    Майкл Оти - научный редактор американского журнала Windows NT Magazine, президент компании TECA, специализирующейся на разработке программного обеспечения и оказании консультационных услуг. С ним можно связаться по адресу:

    Похожие статьи