Как использовать команду Linux FTP для передачи файлов

FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее.

В этом руководстве мы покажем вам, как использовать команду ftp Linux на практических примерах.

В большинстве случаев вы будете использовать настольный FTP-клиент для подключения к удаленному серверу и загрузки или выгрузки файлов. Однако команда ftp полезна, когда вы работаете на сервере без графического интерфейса пользователя и хотите передавать файлы по FTP на удаленный сервер или с него.

Подготовка

Трафик FTP не зашифрован. Для безопасной передачи данных используйте SCP или SFTP .

Чтобы иметь возможность передавать файлы, у вас должны быть как минимум права на чтение исходного файла и права записи в целевой системе.

При передаче больших файлов рекомендуется запускать команду ftp внутри сеанса screen или tmux .

Каталог, из которого вы запускаете команду ftp является локальным рабочим каталогом.

Установление FTP-соединения

  1. Чтобы открыть ftp-соединение с удаленной системой, вызовите команду ftp за которой следует IP-адрес или доменное имя удаленного сервера. Например, чтобы подключиться к FTP-серверу с адресом «192.168.42.77», введите:

     ftp 192.168.42.77
  2. Если соединение установлено, отобразится подтверждающее сообщение, и вам будет предложено ввести свое имя пользователя 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.
  3. После ввода имени пользователя вам будет предложено ввести пароль:

     Password:
  4. Если пароль правильный, удаленный сервер отобразит подтверждающее сообщение и приглашение 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-сервер.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Оставьте комментарий