Введение
FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее.
В этом руководстве мы покажем вам, как использовать команду ftp в Linux на практических примерах.
В большинстве случаев настольный FTP-клиент будет использоваться для подключения к удаленному серверу и загрузки или выгрузки файлов. Однако команда ftp
полезна, когда вы работаете на сервере без графического интерфейса и хотите передавать файлы по FTP на удаленный сервер или с него.
Предпосылки
При передаче данных по ftp соединение не шифруется. Для безопасной передачи данных используйте SCP.
Чтобы иметь возможность передавать файлы, у вас должно быть как минимум разрешение на чтение исходного файла и разрешение на запись в целевой системе.
При передаче больших файлов рекомендуется запускать команду sftp в сеансе screen или tmux.
Каталог, из которого запускается команда ftp
, является локальным рабочим каталогом.
Установить FTP-соединение
Чтобы открыть ftp-соединение с удаленной системой, используйте команду ftp
, за которой следует IP-адрес или доменное имя удаленного сервера:
ftp 192.168.43.55
Если соединение установлено, появится подтверждающее сообщение и будет предложено ввести имя пользователя FTP, в этом примере имя пользователя FTP — noviello
:
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 21:35. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (192.168.43.55:localuser): noviello
В зависимости от службы FTP, запущенной на удаленном сервере, может появиться другое подтверждающее сообщение.
После того, как вы введете свое имя пользователя, вам будет предложено ввести пароль:
Password:
Если пароль правильный, удаленный сервер отобразит подтверждающее сообщение, а приглашение изменится на ftp>
, например:
230 OK. Current restricted directory is /Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Если FTP-сервер, на который вы входите, принимает анонимные учетные записи ftp и вы хотите войти в систему как анонимный пользователь, используйте anonymous
в качестве имени пользователя и свой адрес электронной почты в качестве пароля.
Загрузка файлов командой FTP
После входа в систему текущим рабочим каталогом является домашний каталог удаленного пользователя.
При загрузке файлов с помощью команды ftp
файлы будут загружены в каталог, из которого была введена команда ftp
.
Если вы хотите загрузить файлы в другой локальный каталог, переключитесь на него с помощью команды lcd
.
Допустим, мы хотим скачать файлы в директорию ~/ftp_downloads
:
lcd ~/ftp_downloads
Чтобы загрузить один файл с удаленного сервера, используйте команду get
. Например, чтобы загрузить файл с именем backup.zip
используйте следующую команду:
get backup.zip
Вывод должен выглядеть так:
200 PORT command successful
150-Connecting to port 60609
150 6516.9 kbytes to download
226-File successfully transferred
226 2.356 seconds (measured here), 2.70 Mbytes per second
6673256 bytes received in 2.55 seconds (2.49 Mbytes/s)
Чтобы загрузить несколько файлов одновременно, используйте команду mget
. Вы можете предоставить список имен отдельных файлов или использовать подстановочные знаки.
mget backup1.zip backup2.zip
При загрузке нескольких файлов вам будет предложено подтвердить для каждого файла.
mget backup1.zip? y
200 PORT command successful
150 Connecting to port 52231
226-File successfully transferred
226 0.000 seconds (measured here), 31.51 Kbytes per second
14 bytes received in 0.00058 seconds (23.6 kbytes/s)
mget backup2.zip? y
200 PORT command successful
150-Connecting to port 59179
150 7.2 kbytes to download
226-File successfully transferred
226 0.000 seconds (measured here), 16.68 Mbytes per second
7415 bytes received in 0.011 seconds (661 kbytes/s)
Как только вы закончите загрузку файлов с удаленного FTP-сервера, закройте соединение с помощью bye
или quit
.
quit
221-Goodbye. You uploaded 0 and downloaded 6544 kbytes.
221 Logout.
Загружать файлы командой FTP
Чтобы загрузить файл из локального каталога на удаленный FTP-сервер, используйте команду put
:
put image.jpg
Вывод должен выглядеть так:
200 PORT command successful
150 Connecting to port 34583
226-File successfully transferred
226 0.849 seconds (measured here), 111.48 Kbytes per second
96936 bytes sent in 0.421 seconds (225 kbytes/s)
Если вы хотите загрузить файл, который не находится в текущем рабочем каталоге, используйте абсолютный путь к файлу.
Чтобы загрузить несколько файлов из локального каталога на удаленный FTP-сервер, используйте команду mput
:
mput image1.jpg image2.jpg
mput image1.jpg? y
200 PORT command successful
150 Connecting to port 41075
226-File successfully transferred
226 1.439 seconds (measured here), 102.89 Kbytes per second
151586 bytes sent in 1.07 seconds (138 kbytes/s)
mput image2.jpg? y
200 PORT command successful
150 Connecting to port 40759
226-File successfully transferred
226 1.727 seconds (measured here), 111.75 Kbytes per second
197565 bytes sent in 1.39 seconds (138 kbytes/s)
При загрузке нескольких файлов вам будет предложено подтвердить каждый файл, который вы хотите загрузить.
Как только вы закончите загрузку файлов на удаленный FTP-сервер, закройте соединение с помощью bye
или quit
.
Общие FTP-команды
Многие команды FTP аналогичны или идентичны командам, которые вы вводите в командной строке Linux.
Вот некоторые из наиболее распространенных команд FTP
help
или?
- список всех доступных FTP-команд.cd
- изменить каталог на удаленном компьютере.lcd
- изменить каталог на локальном компьютере.ls
— список имен файлов и каталогов в текущем удаленном каталоге.mkdir
— создать новый каталог в текущем удаленном каталоге.pwd
- Распечатать текущий рабочий каталог на удаленном компьютере.delete
- удалить файл в текущем удаленном каталоге.rmdir
— удалить каталог в текущем удаленном каталоге.get
- удаленно скопировать файл на локальный компьютер.mget
— удаленное копирование нескольких файлов на локальный компьютер.put
- скопировать файл удаленно на удаленный компьютер.mput
— скопировать файл с локального на удаленный компьютер.
Вывод
В этом руководстве вы узнали, как использовать команду ftp для загрузки и загрузки файлов на удаленный FTP-сервер.