- How to Download and Upload Files using FTP Command Line
- 1. Connect to FTP Server via Command Line
- 2. Upload Single File to FTP Server
- 3. Download A Single File from FTP
- 4. Upload Multiple Files to FTP
- 5. Download Multiple Files from FTP
- linux-notes.org
- Скачивать и закачивать файлы по FTP используя консоль
- Основные FTP команды в Linux
- FTP соединение
- Команды для навигации
- Удаление файлов на ftp сервере
- Скачивание файлов с ftp
- Загрузка файлов на ftp сервер
- Linux get files from ftp
- СИНТАКСИС
- ОПИСАНИЕ
- ФАЙЛЫ
- ИСПОЛЬЗОВАНИЕ
- Команды
- Прекращение передачи файла
- Соглашения по именованию файлов
- Параметры передачи файлов
- Файл .netrc
- Предупреждения
- ССЫЛКИ
How to Download and Upload Files using FTP Command Line
FTP (File Transfer Protocol) is the most popular protocol to transfer files (download and upload) from one system to another system. It provides the fastest way to transfer files. There is much application available on Linux and windows to FTP services like vsFTPd, proFTPd for Linux, FileZilla Server for windows.
There are various ways to connect to the FTP server, Also you can find multiple free tools on the internet to work with FTP. But system admins know the power of command line. This article will help you to how to connect to the FTP server using the command line and Download and Upload Files using FTP protocol between the FTP server local system.
Remember that FTP is not a secure protocol. We recommend using SFTP for transferring files security. Visit below links to how to use SFTP.
1. Connect to FTP Server via Command Line
To connect to any FTP server from windows open its command prompt and for Linux open terminal window. Now you have required IP or Hostname of FTP server and login credentials to connect with a specific user.
2. Upload Single File to FTP Server
To upload file on FTP server use put command from FTP prompt. First, navigate to the desired directory on the FTP server where to upload a file and use the following command. It will upload local system file c:\files\file1.txt to uploads directory on FTP server.
3. Download A Single File from FTP
To download the file from FTP server, we use get command. Using that command we can download one time at a time. To download any file from FTP server First login to your FTP server, navigate to the directory and use the following command to download
4. Upload Multiple Files to FTP
To upload multiple files to FTP server use mput command. You can also specify wildcard characters to upload multiple files to the server at a time. First, navigate to the desired directory on the FTP server where to upload a file and use the following command. It will upload local system files with .txt extension in c:files directory to uploads directory on FTP server.
5. Download Multiple Files from FTP
To download multiple files from FTP server, we use mget command. Using that command we can download more than one file at a time. To download multiple files specify wildcard character for specifying directory name do download all files from the directory.
Источник
linux-notes.org
Скачивать и закачивать файлы по FTP используя консоль
FTP (File Transfer Protocol) является наиболее популярным протоколом для передачи файлов (скачиваать и загружать) из одной системы в другую систему. Это обеспечивает быстрыйспособ передачи файлов . Есть много доступных приложений на Linux и Windows такие как VSFTPD, ProFTPD для Linux, FileZilla Server для windows и macOS.
Есть различные способы для подключения к FTP-серверу использую графическую среду, но системный администратор должен знать силу командной строки. И в данной теме «Скачивать и закачивать файлы по FTP используя консоль» я расскажу как можно работать с командной строкой для передачи/получения данных.
1. Подключение к FTP-серверу с помощью командной строки
Для подключения к любому серверу с помошью командной строки служит терминал.
2. Загрузить файл на FTP-сервер
Чтобы загрузить файл на сервер используют FTP put. Во-первых нужно перейти в нужную папку на FTP сервере для загрузки файла и использовать следующую команду.
3. Скачать один файл из FTP-сервер
Чтобы скачать файл из FTP-сервера, мы используем команду get. Используя эту команду мы можем загрузить один файл. Чтобы скачать какой-либо файл с сервера FTP, сперва войдите на FTP-сервер, потом перейдите в каталог и использования следующую команду, чтобы скачать любой файл:
4. Загрузить несколько файлов на FTP-сервер
Чтобы загрузить несколько файлов на FTP-сервере мы используем MPUT команду. Мы можем указать символ шаблона для загрузки нескольких файлов на сервер одновременно. Во-первых перейдите к нужной папке на FTP сервере для загрузки файла и используйте следующую команду. Он будет загрузить все файлы с расширением .txt в каталог /home/captain для закачанных файлов на FTP-сервере.
5. Скачать несколько файлов с FTP-сервера
Чтобы скачать несколько файлов с FTP-сервера, мы используем MGET команду. Используя эту команду можно загружать файлы.
Команды.
!
Выйти с оболочки shell
?
Расспечатать помошь о локальной информации
append
Добавьте в файл
ascii
Установить тип передачи ASCII. Используйте это, чтобы передать текстовые файлы (HTM-файлы).
bell
Звуковой сигнал при завершении команды.
binary
Установите двоичный тип передачи. Используйте это для передачи двоичных файлов (XE-файлов и графики).
bye
Завершить сеанс подключения и работу.
cd
Изменить удаленный рабочий каталог (использование «..», чтобы перейти к родителю).
close
Завершить сеанс FTP.
delete
Удалить удаленный файл.
debug
Переключить режим отладки.
dir
Перечислите (показать) содержимое удаленного каталога.
disconnect
Завершить сеанс FTP.
get
Получить файл (смотрите также mget).
glob
Переключить расширение метасимвол из локального имени файлов.
hash
Переключить печать ‘#’ для каждого переданного буфера.
help
Показать список команд.
lcd
Изменить локальный рабочий каталог.
literal
Отправить произвольную команду FTP.
ls
Показать содержимое удаленного каталога.
mdelete
Удаление нескольких файлов.
mdir
Список содержимого нескольких удаленных каталогов.
mget
Получить несколько файлов (смотрите также get)
mkdir
Создайте каталог на удаленной машине.
mls
Список содержимого нескольких удаленных каталогов.
mput
Отправить несколько файлов (смотрите также put).
open
Подключение к удаленному FTP.
prompt
Грубое интерактивное приглашение на нескольких команд (это переключение)
put
Отправить один файл (смотрите также mput).
pwd
Распечатать рабочую папку (где ты находишся сейчас) на удаленной машине.
quit
Завершить сеанс подключения и работу.
quote
Отправить произвольную команду FTP. Вы можете просмотреть список raw команд FTP на www.nsftools.com/tips/RawFTP.htm
recv
Receive file
remotehelp
Get help from remote server
rename
Получить файл.
rmdir
Удалить каталог на удаленной машине.
send
Отправить один файл.
status
Показать текущее состояние.
trace
Переключить трассировку пакетов.
type
Установить тип файла передачи
user
Отправить новую информацию пользователя.
verbose
Переключить подробный режим.
Тема «Скачивать и закачивать файлы по FTP используя консоль» завершена.
Источник
Основные FTP команды в Linux
FTP (File Transfer Protocol — протокол передачи файлов) — это популярный сетевой протокол, который используется для копирования файлов с одного компьютера на другой в локальной сети, либо в сети Интернет. FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году.
Протокол 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 user@ftp.site.com , то есть:
Далее необходимо ввести логин и пароль ftp-соединения.
После успешной авторизации будет сообщение такого вида:
Из сообщения видно, что для передачи файлов используется двоичный (бинарный) тип передачи. Двоичный режим передачи файлов — это передача файлов в том виде, в котором они хранятся на FTP сервере. Режим Ascii (текстовый) используется для передачи только текстовых файлов. Вы можете вводить команды ascii или binary для переключения между режимами передачи. Бинарный режим (binary) необходимо использовать для всех нетекстовых типов файлов — изображения, архивы, программы и т.д.
Команды для навигации
Итак, перейдем к командам для навигации и перехода по каталогам 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 .
hash — команда после которой ftp будет печатать символ «#» каждые 1024 байт данных:
tick — команда будет отображать счетчик байтов:
Вот и весь базовый набор команд для работы с ftp в консоле. Для просмотра списка доступных команл на данном FTP сервере можно использовать команду help :
Также, можно получить короткую справку по каждой команде help :
И в завершение, две команды, которые выше quit или bye для закрытия ftp-сессии и выхода:
Подробную информацию с описанием команд можно получить с помощью man ftp в командной строке:
Источник
Linux get files from ftp
ftp — программа пересылки файлов
СИНТАКСИС
ОПИСАНИЕ
Команда ftp — это пользовательский интерфейс к стандартному протоколу передачи файлов ARPANET (File Transfer Protocol или FTP). ftp позволяет пользователю передавать файлы на другой компьютер сети и получать их из него.
ФАЙЛЫ
ИСПОЛЬЗОВАНИЕ
В командной строке можно задавать следующие опции.
-c | Подавляет сообщение SYST. Эта опция используется для предотвращения аварийного отказа удаленного сервера, который не обрабатывает это сообщение и не может работать с неизвестными сообщениями. Если первая же команда после подключения к удаленному серверу приводит к сообщению о том, что сервер отключил соединение, добавьте опцию -c в командную строку ftp и повторите запрос. |
-C | Заставляет ftp послать сообщение SYST. По умолчанию сообщение SYST не посылается. |
-d | Включает отладку. |
-g | Отключает расширение имен файлов (file name globbing). |
-i | Отключает интерактивные приглашения в ходе передачи нескольких файлов. |
-n | Запрещает команде ftp пытаться автоматически зарегистрироваться («auto-login») сразу после подключения. Если автоматическая регистрация включена, ftp будет искать в файле .netrc (см. ниже) в начальном каталоге (home directory) пользователя запись, описывающую учетную запись на удаленной машине. Если такой записи нет, ftp запросит регистрационное имя на удаленной машине (по умолчанию предлагается регистрационное имя пользователя на локальной машине), и, если необходимо, запросит пароль для этого регистрационного имени. |
-t | Включает трассировку пакетов. |
-v | Включает режим информирования (verbose). Заставляет ftp показывать все ответы удаленного сервера, а также выдавать статистическую информацию о передаче данных. Обычно, этот режим по умолчанию включен, за исключением случаев, когда стандартный входной поток не связан с терминалом. |
Хост (host), с которым программа ftp должна взаимодействовать, можно указать в командной строке. В этом случае ftp сразу попытается установить соединение с сервером FTP на этом хосте; иначе, ftp запустит свой командный интерпретатор и будет ждать инструкций от пользователя. Когда программа ftp ожидает команд пользователя, ему выдается приглашение «ftp>«.
Команды
Программа ftp воспринимает следующие команды. Аргументы команды, которые содержат пробелы, необходимо брать в кавычки («).
! [ команда [ аргументы ] ] Вызывает интерактивный командный интерпретатор на локальной машине. Если заданы аргументы, первый из них рассматривается как команда, которую необходимо выполнить, а остальные — как аргументы для этой команды. ? [ команда ] Синоним для команды help. $ имя_макроса [ аргументы ] Выполняет макрос имя_макроса, который был определен с помощью команды macdef. Аргументы передаются макросу без расширения. account [ пароль ] Передает дополнительный пароль, требуемый удаленной системой для доступа к ресурсам после успешного завершения регистрации. Если аргумент не задан, пользователю будет предложено ввести пароль учетной записи в режиме ввода без отображения. append локальный_файл [ удаленный_файл ] Добавляет локальный_файл к файлу на удаленной машине. Если удаленный_файл не указан, имя локального файла используется для именования удаленного после выполнения всех изменений, определяемых установками ntrans или nmap. При передаче файла используются текущие установки типа, формата, режима и структуры. ascii Устанавливает режим передачи файлов (file transfer type) в ASCII. Этот тип передачи используется по умолчанию. bell Приводит к выдаче звукового сигнала после выполнения каждой команды передачи файла. binary Устанавливает режим передачи файлов для поддержки передачи двоичных образов. bye Прекращает сеанс FTP с удаленным сервером и завершает работу ftp. Конец файла также прекратит сеанс и приведет к выходу из программы. case Переключает изменение регистра имен файлов на удаленном компьютере при выполнении команд mget. Когда изменение регистра включено (по умолчанию оно выключено), файлы с удаленного компьютера, в именах которых все буквы — прописные (в верхнем регистре), записываются в локальный каталог с преобразованием букв в строчные (в нижнем регистре). cd удаленный_каталог Делает удаленный_каталог текущим каталогом на удаленной машине. cdup Делает текущим каталогом на удаленной машине родительский каталог текущего. chmod [ режим ] [ удаленный_файл ] Изменяет права доступа к удаленному файлу. close Прекращает сеанс FTP с удаленным сервером и возвращается в командный интерпретатор. Все определенные макросы стираются. cr Переключает удаление символа возврата каретки при получении файла в режиме ascii. При передаче файлов в режиме ascii записи (строки) заканчиваются парой символов возврат каретки/перевод строки. Когда cr включен (по умолчанию), символы возврата каретки удаляются из этой последовательности, чтобы получить ограничитель записи (record delimiter) UNIX в виде одного перевода строки. Записи на не-UNIX удаленных системах могут содержать одиночные символы перевода строки; при выполнении передачи в режиме ascii эти переводы строки можно будет отличить от ограничителя записи только если cr сброшен. delete удаленный_файл Удаляет файл удаленный_файл с удаленной машины. debug [ уровень_отладки ] Переключает режим отладки. Если задан необязательный параметр уровень_отладки, это значение используется для установки уровня отладки. Когда отладка включена, ftp печатает каждую команду, посылаемую на удаленную машину, предваряя ее строкой «—>«. dir [ удаленный_каталог [ локальный_файл ] ] Печатает листинг содержимого текущего каталога на удаленной машине (или удаленного_каталога), и, при необходимости, помещает его в локальный_файл. Если включена выдача интерактивных приглашений, ftp попросит пользователя проверить, что последний аргумент действительно является тем локальным файлом, в котором необходимо сохранить результат dir. Если каталог не указан, используется текущий каталог на удаленной машине. Если не указан локальный файл, или в качестве локального файла указан —, результат выдается на терминал. disconnect Синоним для close. form формат Устанавливает формат передачи файла. Значение формата по умолчанию — file. get удаленный_файл [ локальный_файл ] Получает удаленный_файл и сохраняет его на локальной машине. Если имя локального файла не указано, он получает то же имя, что и на удаленной машине, с учетом изменений, вызванных текущими установками case, ntrans и nmap. При передаче файла используются текущие значения типа, формата, режима и структуры. glob Переключает расширение имени файла для команд mdelete, mget и mput. Если расширение («глобализация» — globbing) выключено с помощью glob, аргументы имен файлов используются буквально и не расширяются. Расширение имен файлов для mput выполняется так же, как в sh(1). Для mdelete и mget, каждое имя удаленного файла расширяется отдельно на удаленной машине и списки не сливаются в один. Скорее всего, имя каталога будет расширяться не так, как имя обычного файла: конкретный результат зависит от удаленной операционной системы и сервера ftp; его можно посмотреть, выполняя команду ‘mls удаленные_файлы —‘. Учтите, что mget и mput не предназначены для пересылки целых деревьев подкаталогов файлов. Это можно сделать, пересылая архив tar(1) поддерева (в двоичном режиме). hash Переключает выдачу знака «#» для каждого переданного блока данных. Размер блока данных равен BUFSIZ байтам. BUFSIZ определен в файле stdio.h. help [ команда ] Выдает краткое (однострочное) описание команды. Если аргумент не указан, ftp печатает список известных команд. idle [ время_ожидания ] Получает/устанавливает время ожидания на удаленной машине. image То же, что и binary. lcd [ каталог ] Изменяет текущий каталог на локальной машине. Если каталог не указан, используется начальный каталог пользователя. ls [ удаленный_каталог [ локальный_файл ] ] Выдает сокращенный листинг содержимого каталога на удаленной машине. Листинг включает любую системно- зависимую информацию, которую решил включить сервер; например, большинство систем UNIX будут выдавать результат команды ls -l (см. также nlist). Если удаленный_каталог не указан, используется текущий каталог. Если включена выдача интерактивных приглашений, ftp попросит пользователя проверить, что последний аргумент действительно представляет собой локальный файл, в который необходимо записать результат. Если локальный файл не указан или в качестве локального_файла указан —, результат посылается на терминал. Дополнительные опции можно задавать, беря аргументы в кавычки. Например, ls «-rt dir», приведет к показу листинга каталога dir, упорядоченного по времени последнего изменения файлов, если удаленная операционная система — UNIX. macdef имя_макроса Определяет макрос. Последующие строки запоминаются как макрос имя_макроса; пуста строка (подряд идущие символы новой строки в файле или переводы строк, введенные с терминала) прекращает режим ввода макроса. Имеется ограничение — не более 16 макросов и 4096 символов суммарно во всех определенных макросах. Макрос остается определенным, пока не будет выполнена команда close. Макропроцессор интерпретирует ‘$‘ и ‘\‘ как специальные символы. Символ ‘$‘, за которым идет цифра (или цифры), заменяется на соответствующий аргумент вызова макроса в командной строке. Символ ‘$‘, за которым идет ‘i‘, показывает макропроцессору, что макрос необходимо выполнять циклически. На первом проходе ‘$i‘ заменяется на первый аргумент вызова макроса в командной строке, на втором проходе эти символы заменяются на второй аргумент, и так далее. Символ ‘\‘, за которым идет любой символ, заменяется на этот символ. Используйте ‘\‘ для предотвращения специальной обработки символа ‘$‘. mdelete [ удаленные_файлы ] Удаляет указанные файлы с удаленной машины. mdir удаленные_файлы локальный_файл Действует как dir, за исключением того, что можно указать удаленные файлы. Если включена выдача интерактивных приглашений, ftp попросит пользователя проверить, что последний аргумент действительно представляет собой локальный файл, в который необходимо записать результат выполнения mdir. mget удаленные_файлы Расширяет список удаленных_файлов на удаленной машине и выполняет команду get для каждого полученного таким образом имени файла. Подробнее о расширении имен файлов см. в описании команды glob. Результирующие имена файлов затем обрабатываются в соответствии с текущими установками case, ntrans и nmap. Файлы передаются в локальный текущий каталог, который можно изменить с помощью команды lcd каталог; новые локальные каталоги можно создавать с помощью команды ! mkdir каталог. mkdir имя_каталога Создает каталог на удаленной машине. mls удаленные_файлы локальный_файл Аналогична nlist, но позволяет задать несколько имен удаленных файлов, а локальный_файл указывать обязательно. Если включена выдача интерактивных приглашений, ftp попросит пользователя проверить, что последний аргумент действительно представляет собой локальный файл, в который необходимо записать результат выполнения mls. mode [ режим ] Устанавливает указанный режим передачи файла. По умолчанию используется режим stream (потоковый). modtime имя_файла Показывает время последнего изменения файла на удаленной машине. mput локальные_файлы Расширяет символы-заместители (wild cards) в списке локальных файлов, заданных в качестве аргументов, и выполняет команду put для каждого файла в результирующем списке. Подробнее о расширении имен файлов см. в описании команды glob. Результирующие имена файлов затем будут обрабатываться в соответствии с установками ntrans и nmap. Команда mput не позволяет задавать имена файлов на удаленной машине. newer удаленный_файл [ локальный_файл ] Получает файл, если удаленный_файл более новый, чем локальный_файл. nlist [ удаленный_каталог [ локальный_файл ] ] Выдает список файлов в каталоге на удаленной машине. Если удаленный_каталог не указан, используется текущий каталог. Если включена выдача интерактивных приглашений, ftp попросит пользователя проверить, что последний аргумент действительно представляет собой локальный файл, в который необходимо записать результаты команды nlist. Если локальный файл не указан или в качестве локального_файла указан —, результат посылается на терминал.
Дополнительные опции можно задать, взяв аргументы в кавычки. Например, nlist «-rt dir» приведет к показу упорядоченного по времени последнего изменения листинга содержимого каталога dir. nmap [ входной_шаблон выходной_шаблон ] Устанавливает или отключает механизм преобразования имен файлов (filename mapping mechanism). Если аргументы не указаны, механизм преобразования имен файлов отключается. Если аргументы указаны, имена удаленных файлов преобразуются в ходе выполнения команд mput и команд put, в которых не указано имя удаленного файла. Если аргументы указаны, имена локальных файлов преобразуются в ходе выполнения команд mget и команд get, в которых не указано имя локального файла. Эта команда полезна при подключении к удаленному компьютеру с не-UNIX операционной системой, имеющей другие соглашения или традиции именования файлов. Преобразование выполняется по шаблону, устанавливаемому входным_шаблоном и выходным_шаблоном. Входной_шаблон — это шаблон для имен принимаемых файлов (которые могут быть предварительно обработаны в соответствии с установками ntrans и case). Во входных_шаблонах можно использовать подстановку переменных, включая в них последовательности $1, $2, . $9. Чтобы предотвратить такую специальную обработку символа ‘$‘, используйте ‘\‘. Все остальные символы рассматриваются буквально и используются для определения значений переменных входного шаблона nmap. Например, если входной_шаблон задан как $1.$2, а удаленный файл имеет имя mydata.data, $1 получит значение mydata, а $2 получит значение data. Выходной_шаблон определяет имя файла, получающегося в результате преобразования. Последовательности $1, $2, . $9 заменяются значением, полученным по входному_шаблону. Последовательность ‘$0‘ заменяется на исходное имя файла. Кроме того, последовательность [seq1,seq2] заменяется на seq1 если seq1 не является пустой строкой; в противном случае она заменяется на seq2. Например, команда nmap $1.$2.$3 [$1,$2].[$2,file] приведет к выходному имени файла myfile.data для входных файлов с именами myfile.data и myfile.data.old, myfile.file для входного файла с именем myfile и myfile.myfile для входного файла с именем .myfile. В выходной_шаблон можно включать пробелы как в следующем примере: nmap $1 |sed «s/ *$//» > $1. Используйте символ ‘\‘ для предотвращения специальной обработки символов ‘$‘, ‘[‘, ‘]‘ и ‘,‘. ntrans [ входные_символы [ выходные_символы ] ] Устанавливает и отключает механизм перевода символов имен файлов (filename character translation mechanism). Если аргументы не указаны, механизм перевода символов имен файлов отключается. Если указаны аргументы, символы в именах удаленных файлов переводятся в ходе выполнения команд mput и команд put, в которых не указано имя удаленного файла. Если указаны аргументы, символы в именах локальных файлов переводятся в ходе выполнения команд mget и команд get, в которых не указано имя локального файла. Эта команда полезна при подключении к удаленному компьютеру с не-UNIX операционной системой, имеющей другие соглашения или традиции именования файлов. Символы в имени файла, соответствующие символу во входных_символах, заменяются на соответствующий символ из выходных_символов. Если позиция символа во входных_символах больше, чем длина выходных_символов, символ удаляется из имени файла. open хост [ порт ] Устанавливает соединение с сервером FTP на указанном хосте. Можно дополнительно задать номер порта и в этом случае ftp попытается обратиться к серверу FTP на этом порту. Если опция автоматической регистрации включена (по умолчанию), ftp также попытается автоматически зарегистрировать пользователя на сервере FTP (см. ниже). prompt Переключает выдачу интерактивных приглашений (interactive prompting). Выдача интерактивных приглашений происходит при передаче нескольких файлов, чтобы дать возможность пользователю избирательно получать или записывать файлы. Если выдача интерактивных приглашений отключена (по умолчанию она включена), любая команда mget или mput будет передавать все файлы, а любая команда mdelete удалит все файлы. proxy команда_ftp Выполняет команду ftp по второму управляющему соединению. Эта команда позволяет выполнить одновременное подключение к двум удаленным серверам FTP для передачи файлов между ними. Первой командой proxy должна быть команда open для установления второго управляющего соединения. Введите команду proxy ?, чтобы увидеть другие команды ftp, которые можно выполнять по второму управляющему соединению. Следующие команды работают по-другому, если перед ними указана команда proxy: open не будет определять новые макросы в ходе процесса автоматической регистрации, close не будет стирать существующие определения макросов, get и mget передают файлы с хоста основного управляющего соединения на хост второго управляющего соединения, а put, mput и append передают файлы с хоста второго управляющего соединения на хост основного управляющего соединения. Передача файлов третьим сторонам зависит от поддержки команды PASV протокола ftp сервером, к которому выполнено второе управляющее соединение. put локальный_файл [ удаленный_файл ] Записывает локальный_файл на удаленную машину. Если удаленный_файл не указан, для удаленного файла используется имя локального файла после обработки в соответствии с установками ntrans или nmap. При передаче файлов используются текущие установки типа, формата, режима и структуры. pwd Печатает имя текущего каталога на удаленной машине. quit Синоним для bye. quote arg1 arg2 . . . Указанные аргументы посылаются в неизменном виде удаленному серверу FTP. recv удаленный_файл [ локальный_файл ] Синоним для get. reget Получает файл, начиная с конца локального_файла. restart Повторно выполняет передачу файла с указанной в байтах позиции. rhelp [ имя_команды ] Запрашивает справку с удаленного сервера FTP. Если указано имя_команды, оно тоже передается серверу. rstatus [ имя_файла ] При вызове без аргументов показывает статус удаленной машины. Если указано имя_файла, показывает статус файла с соответствующим именем на удаленной машине. rename [ старое_имя ] [ новое_имя ] Переименовывает файл старое_имя на удаленной машине в файл новое_имя. reset Очищает очередь ответа. Эта команда повторно синхронизирует последовательность команда/ответ с удаленным сервером ftp. Повторная синхронизация может понадобиться после нарушения протокола ftp удаленным сервером. rmdir имя_каталога Удаляет каталог на удаленной машине. runique Включает и отключает сохранение файлов с уникальными именами в локальной системе. Если уже существует файл, имя которого совпадает с именем целевого локального файла для команды get или mget, к имени добавляется .1. Если получившееся в результате имя совпадает с именем другого существующего файла, к исходному имени добавляется .2. Если этот процесс доходит до .99, выдается сообщение об ошибке и передача не происходит. Сгенерированное уникальное имя файла сообщается пользователю. Учтите, что runique не повлияет на локальные файлы, сгенерированные из команды интерпретатора shell (см. ниже). По умолчанию сохранение с уникальными менами выключено. send локальный_файл [ удаленный_файл ] Синоним для put. sendport Включает и отключает использование команд PORT. По умолчанию, ftp будет пытаться использовать команду PORT при установке соединения для каждой передачи данных. Использование команд PORT может предотвратить задержки при выполнении передач нескольких файлов. Если команда PORT не срабатывает, ftp будет использовать стандартный порт данных. Когда использование команд PORT отключено, попытки использовать команды PORT для каждой передачи данных предприниматься не будут. Это может пригодиться для некоторых реализаций FTP, которые игнорируют команды PORT, но ошибочно показывают, что они восприняты. size имя_файла Возвращает размер файла имя_файла на удаленной машине. status Показывает текущий статус ftp. site [ команда ] Получает/устанавливает специфическую информацию сайта на удаленной машине. struct [ имя_структуры ] Устанавливает структуру передачи фала в указанное имя_структуры. По умолчанию используется потоковая структура (stream). sunique Включает и отключает сохранение файлов с уникальными именами на удаленной машине. Для успешного выполнения удаленный сервер FTP должен поддерживать команду STOU протокола FTP. Удаленный сервер проинформирует пользователя о построенном уникальном имени. По умолчанию сохранение файлов с уникальными именами на удаленной машине отключено. system Показывает тип операционной системы на удаленной машине. tenex Устанавливает необходимый тип передачи файлов для работы с машинами TENEX. trace Включает и отключает трассировку пакетов. type [ имя_типа ] Устанавливает указанный тип (режим) передачи файлов. Если тип не указан, печатается текущий тип. По умолчанию используется режим ASCII. umask [ маска ] Устанавливает маску режима создания файла на удаленной машине. Если маска не указана, печатается текущее значение маски. user имя_пользователя [ пароль ] [ учетная_запись ] Идентифицирует пользователя для удаленного сервера FTP. Если пароль не указан, а сервер его требует, ftp предложит пользователю ввести пароль (после отключения локального эха). Если поле учетная_запись не указано, а сервер FTP его требует, пользователю будет предложено ввести соответствующее значение. Если поле учетная_запись указано, команда account будет передана удаленному серверу после завершения последовательности регистрации, если удаленный сервер не требует указания учетной записи для регистрации. Если ftp не вызван с отключением автоматической регистрации, этот процесс выполняется автоматически при первоначальном подключении к серверу FTP. verbose Включает и отключает режим информирования (verbose mode). В режиме информирования все ответы сервера FTP показываются пользователю. Кроме того, если режим информирования включен, после завершения передачи файла выдается статистическая информация о скорости передачи. По умолчанию, режим информирования включен.
Прекращение передачи файла
Чтобы прекратить передачу файла, используйте клавиши прерывания терминала (обычно Delete или Ctrl-C). Посылка фала будет немедленно остановлена. Получение файлов останавливается путем посылки команды ABORT протокола ftp удаленному серверу, и игнорированием любых получаемых в дальнейшем данных. Скорость срабатывания в этом случае зависит от поддержки обработки команды ABORT удаленным сервером. Если удаленный сервер не поддерживает команду ABORT, приглашение ftp> не появится, пока удаленный сервер не закончит пересылку запрошенного файла.
Нажатие клавиш(и) прерывания терминала будет проигнорировано, когда программа ftp выполнила необходимую локальную обработку и ожидает ответа удаленного сервера. Длительная задержка в этом режиме может оказаться результатом обработки команды ABORT, описанной выше, или непредусмотренного поведения удаленного сервера, включая нарушения протокола ftp. Если задержка произошла в результате непредусмотренного поведения удаленного сервера, локальную программу ftp придется прекращать вручную.
Соглашения по именованию файлов
Файлы, указанные в качестве аргументов команд ftp, обрабатываются в соответствии со следующими правилами.
- Если указано имя файла ‘—‘, используется stdin (для чтения) или stdout (для записи).
- Если первый символ имени файла — ‘|‘, остальные аргументы интерпретируются как команда shell. ftp в этом случае порождает shell с помощью popen(3S) с указанным аргументом и читает из (записывает в) stdout (stdin). Если команда shell содержит пробелы, аргумент должен браться в кавычки. Типичный пример использования этого механизма: «dir . | pg».
- Если предыдущие проверки завершились неудачей и если включено расширение имен, локальные имена файлов расширяются в соответствии с правилами, используемыми в sh(1); см. описание команды glob. Если команда ftp ожидает один локальный файл (например, как команда put), используется только первое имя, сгенерированное операцией расширения («глобализации»).
- Для команд mget и команд get, в которых не заданы локальные имена файлов, локальный файл получает имя удаленного, но с учетом возможных изменений, определяемых установками case, ntrans или nmap. Результирующее имя файла может быть затем изменено, если включена опция runique.
- Для команд mput и команд put, в которых не заданы имена удаленных файлов, удаленный файл получает имя локального, но с учетом возможных изменений, определяемых установками case, ntrans или nmap. Результирующее имя файла может быть затем изменено удаленным сервером, если включена опция sunique.
Параметры передачи файлов
FTP определяет много параметров, которые могут повлиять на передачу файла. Поддерживаются режимы (типы) ascii, image (binary), ebcdic и local byte size. Команда ftp поддерживает режимы передачи файлов ascii и image, а также local byte size 8 для режима передачи tenex.
Команда ftp поддерживает только стандартные значения для остальных параметров передачи файла: режима (mode), формы (form) и структуры (struct).
Файл .netrc
Файл .netrc содержит информацию регистрации и инициализации, используемую процессом автоматической регистрации. Он находится в начальном каталоге пользователя. Распознаются следующие конструкции, которые могут разделяться пробелами, символами табуляции или переводами строк:
machine имя Определяет имя удаленной машины. Процесс автоматической регистрации ищет в файле .netrc конструкцию machine, соответствующую удаленной машине, указанной в командной строке ftp или как аргумент команды open. Если соответствие найдено, обрабатываются последующие конструкции .netrc вплоть до конца файла или до следующей конструкции machine. default Действует так же, как machine имя, но соответствует любому имени. Можно задавать только одну конструкцию default и она должна идти после всех конструкций machine. Обычно используется в виде default login anonymous password user@site, давая таким образом пользователю автоматическое подключение к анонимному серверу ftp для машин, не указанных в .netrc. Это подключение можно отменить, используя флаг -n для отключения автоматической регистрации. login имя Определяет пользователя на удаленной машине. Если эта конструкция указана, процесс автоматической регистрации начнет регистрацию с использованием указанного имени. password строка Задает пароль. Если указана эта конструкция, процесс автоматической регистрации передаст указанную строку, если удаленный сервер в ходе процесса регистрации затребует пароль. Учтите, что если эта конструкция указана в файле .netrc, ftp прервет процесс автоматической регистрации в случае, когда .netrc может быть прочитан кем-либо кроме пользователя (владельца). account строка Задает дополнительный пароль учетной записи. Если указана эта конструкция, процесс автоматической регистрации передаст указанную строку, если удаленный сервер потребует дополнительный пароль учетной записи, иначе процесс автоматической регистрации инициирует команду ACCT. macdef имя Определяет макрос. Эта конструкция действует как команда ftp macdef. Определяется макрос с указанным именем; его содержание начинается со следующей строки .netrc и продолжается до пустой строки (двух подряд идущих символов новой строки). Если определен макрос с именем init, он автоматически выполняется как последний шаг процесса автоматической регистрации.
Предупреждения
Корректное выполнение многих команд зависит от правильного поведения удаленного сервера.
Ошибка в обработке возвратов каретки в коде передачи в режиме ascii в 4.2BSD была исправлена. Это исправление может привести к некорректным пересылкам двоичных файлов на и из серверов 4.2BSD в режиме ascii. Чтобы избежать этой проблемы, используйте режим передачи файлов binary.
ССЫЛКИ
Copyright 1994 Novell, Inc.
Copyright 1999 В. Кравчук, OpenXS Initiative, перевод на русский язык
Источник