Thank you for reading this post, don't forget to subscribe!
При передаче данных по ftp оба соединения не шифруются. Для безопасной передачи данных, использовать протокол SFTP.
Чтобы иметь возможность копировать файлы, необходимо иметь по крайней мере разрешения на чтение исходного файла и разрешение на запись в целевой системе.
При передаче больших файлов рекомендуется для запуска команд FTP в экране или сессии tmux.
Каталог, из которого вы выполните команду ftp
в локальный рабочий каталог.
Установка FTP-соединения
- Открыть FTP-подключения к удаленной системе с помощью команды
ftp
с удаленным сервером, наберите IP-адрес или доменное имя:1<span class="bash-line">ftp 192.168.42.77</span>
- Если соединение установлено, появится подтверждающее сообщение, и вам будет предложено ввести имя пользователя FTP, в этом примере имя FTP пользователя
andreyex:
1234567220---------- 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 login220-IPv6 connections are also welcome on this server.220 You will be disconnected after 15 minutes of inactivity.Name (192.168.42.77:localuser): andreyex
В зависимости от Службы FTP, работающей на удаленном сервере, может появиться другое сообщение подтверждения. - После ввода имени пользователя вам будет предложено ввести пароль: 1Password:
- Если пароль правильный, удаленный сервер отобразит сообщение подтверждения и приглашение
ftp>
.1234230 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
или?
– список всех доступных команд FTPcd
– изменить каталог на удаленном компьютереlcd
– изменить каталог на локальном компьютереls
– список имен файлов и каталогов в текущем удаленном каталогеmkdir
– создать новый каталог в текущем удаленном каталогеpwd
– печать текущего рабочего каталога на удаленном компьютереdelete
– удалить файл в текущем удаленном каталогеrmdir
– удалить каталог в текущем удаленном каталогеget
– скопировать один файл с удаленного компьютера на локальный компьютерmget
– копирование нескольких файлов с удаленного компьютера на локальный компьютерput
– скопировать один файл с локального компьютера на удаленныйmput
– скопировать один файл с локального компьютера на удаленный
Загрузка файлов с помощью команды FTP
После входа в систему, отобразится текущий рабочий каталог – это домашний каталог удаленных пользователей.
При загрузке файлов с помощью команды ftp
, файлы будут загружены в каталог, из которого вы набрали команду ftp
.
Если вы хотите загрузить файлы на другой локальный каталог, переключитесь на него с помощью команды lcd
.
Допустим, мы хотим скачать файлы в каталог ~/ftp_downloads
:
1 |
lcd ~/ftp_downloads |
Для того, чтобы скачать один файл с удаленного сервера, используйте команду get
. Например, чтобы скачать файл backup.zip
, используйте следующую команду:
1 |
get backup.zip |
Выходные данные должны выглядеть примерно так:
1 2 3 4 5 6 |
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
. Можно указать список отдельных имен файлов или использовать подстановочные знаки.
1 |
mget backup1.zip backup2.zip |
При загрузке нескольких файлов будет предложено подтверждение для каждого файла.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) |
bye
или quit
.
1 |
quit |
1 2 |
221-Goodbye. You uploaded 0 and downloaded 6544 kbytes. 221 Logout. |
Загрузка файлов с помощью команды FTP
Чтобы загрузить файл из локального каталога на удаленный FTP-сервер, используйте команду put
:
1 |
put image.jpg |
Выходные данные должны выглядеть примерно так:
1 2 3 4 5 |
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
:
1 |
mput image_andreyex.jpg image2.jpg |
1 2 3 4 5 6 7 8 9 10 11 12 |
mput image_andreyex.jpg? y 200 PORT command successful 150 Connecting to port 41075 226-File successfully transferred 226 1.439 seconds (measured here), 114.32 Kbytes per second 164204 bytes sent in 0.76 seconds (216 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 195836 bytes sent in 1.25 seconds (141 kbytes/s) |
При загрузке нескольких файлов вам будет предложено подтверждение для каждого файла, который вы хотите загрузить.
Как только вы закончите загрузку файлов на удаленный FTP-сервер, сервер закрывает соединение с bye
или quit
.