
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): linuxizeYou 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>
Если FTP-сервер, к которому вы обращаетесь, принимает анонимные учетные записи 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-сервер.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства