Прежде, чем начинать копирование, следует позаботиться о следующем.
ftp> {\em hash} \\ Hash mark printing on (8192 bytes/hash mark). \\ ftp>
Для передачи посредством FTP файлы делятся на две группы: двоичные (binary) и текстовые (text). Большинство копируемых файлов (программы, сжатые файлы, архивы и т.п.) будет двоичным. Однако есть много файлов (таких, как файлы README), которые будут текстовыми.
Тип файлы важен только потому, что на некоторых системах (таких, как MS-DOS) некоторые символы в текстовых файлах, такие, как символы возврата каретки, нужно конвертировать, иначе файл нельзя будет читать. При переносе в двоичном режиме никакой конвертации не делается, а файлы просто переносятся байт за байтом.
Для переключения режимов переноса файлов используются команды bin и ascii, устанавливающие соответственно двоичный и текстовый режим. При сомнении всегда нужно использовать двоичный режим. Если попытаться передать двоичный файл в текстовом режиме, то он будет получен поврежденным и окажется бесполезным (это одна из наиболее распространенных ошибок при использовании FTP). Текстовый режим может при этом использоваться для передачи текстовых файлов (обычно имя таких файлов оканчивается на .txt).
В данном примере копируется файл README, который, скорее всего, является текстовым, поэтому используется команда
ftp> {\em ascii} \\ 200 Type set to A. \\ ftp>
Например, для того, чтобы установить локальным каталогом /home/db/mdw/tmp, используется команда
ftp> {\em lcd /home/db/mdw/tmp} \\ Local directory now /home/db/mdw/tmp \\ ftp>
Теперь можно приступать к собственно копированию файлов. Для этого используется команда
get \cparam{remote-name} \cparam{local-name}Здесь remote-name -- файл на удаленном компьютере, а local-name -- то имя, которое этот файл получит на локальном (т.е. на котором работает пользователь) компьютере. Второй параметр является необязательным -- по умолчанию скопированному файлу будет дано то же имя, что было у него на удаленном компьютере. Однако если, например, в локальном каталоге уже есть файл README, то новый файл README затрет старый, а для того, чтобы это не произошло, копируемому файлу можно дать новое имя.
В данном случае пользуемся простым вариантом команды:
ftp> {\em get README} \\ 200 PORT command successful. \\ 150 ASCII data connection for README (128.84.181.1,4527) (1433 bytes). \\ \# \\ 226 ASCII Transfer complete. \\ local: README remote: README \\ 1493 bytes received in 0.03 seconds (49 Kbytes/s) \\ ftp>