FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее.
В этом руководстве мы покажем вам, как использовать команду ftp
Linux на практических примерах.
В большинстве случаев вы будете использовать настольный FTP-клиент для подключения к удаленному серверу и загрузки или выгрузки файлов. Однако команда ftp
полезна, когда вы работаете на сервере без графического интерфейса пользователя и хотите передавать файлы по FTP на удаленный сервер или с него.
Содержание
Подготовка
Трафик FTP не зашифрован. Для безопасной передачи данных используйте SCP или SFTP .
Чтобы иметь возможность передавать файлы, у вас должны быть как минимум права на чтение исходного файла и права записи в целевой системе.
При передаче больших файлов рекомендуется запускать команду ftp внутри сеанса screen или tmux .
Каталог, из которого вы запускаете команду ftp
является локальным рабочим каталогом.
Установление FTP-соединения
-
Чтобы открыть ftp-соединение с удаленной системой, вызовите команду
ftp
за которой следует IP-адрес или доменное имя удаленного сервера. Например, чтобы подключиться к FTP-серверу с адресом «192.168.42.77», введите:ftp 192.168.42.77
-
Если соединение установлено, отобразится подтверждающее сообщение, и вам будет предложено ввести свое имя пользователя FTP, в этом примере имя пользователя FTP —
linuxize
: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.42.77:localuser): linuxize
You may see a different confirmation message depending on the FTP service running on the remote server.
-
После ввода имени пользователя вам будет предложено ввести пароль:
Password:
-
Если пароль правильный, удаленный сервер отобразит подтверждающее сообщение и приглашение
ftp>
.230 OK. Current restricted directory is / Remote system type is UNIX. Using binary mode to transfer files. ftp>
anonymous
качестве имени пользователя и свой адрес электронной почты в качестве пароля.Общие команды FTP
Большинство команд FTP похожи или идентичны командам, которые вы вводите в командной строке Linux.
Ниже приведены некоторые из наиболее распространенных команд FTP.
help
или?
— список всех доступных команд FTP.-
cd
— сменить каталог на удаленной машине. -
lcd
— сменить каталог на локальной машине. -
ls
— перечислить имена файлов и каталогов в текущем удаленном каталоге. -
mkdir
— создать новый каталог в текущем удаленном каталоге. -
pwd
— распечатать текущий рабочий каталог на удаленной машине. -
delete
— удалить файл в текущем удаленном каталоге. -
rmdir
— удалить каталог в текущем удаленном каталоге. -
get
— скопировать один файл с удаленного на локальную машину. -
mget
— скопировать несколько файлов с удаленного на локальную машину. -
put
— скопировать один файл с локальной машины на удаленную. -
mput
— скопировать один файл с локальной машины на удаленную.
Загрузка файлов с помощью команды 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-сервер.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.