Основні FTP команди в Linux
FTP (File Transfer Protocol - це популярний мережевий протокол, який використовується для копіювання файлів з одного комп'ютера на інший в локальній мережі, або в мережі Інтернет. FTP є одним з найстаріших прикладних протоколів, що з'явилися задовго до HTTP, і навіть до TCP/IP, у 1971 році.
Протокол FTP вразливий, тобто FTP не може зашифрувати свій трафік, усі передачі - відкритий текст, тому імена користувачів, паролі, команди і дані можуть бути прочитані ким завгодно, здатним перехопити пакет по мережі. Для безпечної передачі даних, використовується протокол SFTP (Secure File Transfer Protocol). На відміну від стандартного FTP він шифрує і команди, і дані, захищаючи паролі та конфіденційну інформацію від відкритої передачі через мережу. За функціональністю SFTP схожий на FTP, але так як він використовує інший протокол, клієнти стандартного FTP не можуть зв'язатися з SFTP-сервером і навпаки. Далі розглянемо основні команди для роботи з FTP програмою.
FTP з'єднання
FTP клієнт входить до більшості дистрибутивів Linux. Почнемо з запуску програми і ftp з'єднанням і, звичайно, розглянемо основні команди для скачування з фтп-серверу і завантаження на фтп, створення директорій, видалення файлів і т.п. У цій статті опишемо лише основні команди, а в кінці статті наведемо хелп і мануал з консолі - Ви завжди можете дізнатися про призначення команди та її синтаксис, а також про всі доступні команди на конкретному ftp-сервері.
Для початку фтп з'єднання досить ввести команду ftp <сервер> наприклад:
ftp test.hostingthutor.com
Після натискання клавіші enter вивід команди буде наступним:
Connected to test.hostinghutor.com (114.55.5.11).
220 test.hostinghutor.com FTP Server ready.
Name (test.hostinghutor.com:ftpuser):
Інший спосіб для з'єднання - це запуск ftp з консолі, а після цього з'єднання з ftp-сервером за допомогою команди open:
ftp
ftp> test.hostinghutor.com
Крім того, можливо з'єднається і по ip:
ftp 114.55.5.11
Або так ftp user@ftp.site.com, тобто:
ftp ftpuser@test.hostinghutor.com
Далі необхідно ввести логін і пароль ftp-з'єднання.
Після успішної авторизації буде повідомлення такого виду:
230 User ftpuser logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Із повідомлення видно, що для передачі файлів використовується двоїчний (бінарний) тип передачі. Двоїчний режим передачі файлів - це передача файлів у тому вигляді, в якому вони зберігаються на FTP сервері. Режим Ascii (текстовий) використовується для передачі тільки текстових файлів. Ви можете вводити команди ascii або binary для перемикання між режимами передачі. Бінарний режим (binary) необхідно використовувати для всіх нетекстових типів файлів - зображення, архіви, програми і т.д.
Команди для навігації
Отже, перейдемо до команд для навігації та переходу по каталогам ftp-серверу:
pwd - команда покаже поточну директорію на ftp-сервері:
ftp> pwd
257 "/" is the current directory
ls - команда покаже список файлів і каталогів у поточній директорії:
ftp> ls
227 Entering Passive Mode.
150 Opening ASCII mode data connection for file list
-rw-r--r-- 1 ftpuser ftpuser 3034978 Jun 31 19:02 file1.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 30842294 Jul 31 20:08 file2.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 67798316 Jul 31 19:46 file3.tar.gz
-rw-r--r-- 1 ftpuser ftpuser 6001252 Jan 17 12:02 file4.zip
-rw-r--r-- 1 ftpuser ftpuser 31386394 Jan 17 11:28 file5.tar.gz
drwxr-xr-x 2 ftpuser ftpuser 4 Jan 17 20:23 www
-rw-r--r-- 1 ftpuser ftpuser 48546694 Jan 17 11:33 file6.zip
226 Transfer complete
cd <ім'я директорії> - команда для переходу до необхідної директорії:
ftp> cd www
250 CWD command successful
Перевіряємо командою pwd:
ftp> pwd
257 "/www" is the current directory
mkdir <ім'я директорії> - створення нової директорії (каталогу):
ftp> mkdir tmp
257 "/tmp" - Directory successfully created
rmdir <ім'я директорії> - видалення директорії (каталогу):
ftp> rmdir tmp
250 RMD command successful
Видалення файлів на ftp сервері
delete <ім'я файлу> - видаляє файл на віддаленому ftp сервері:
ftp> delete test1.sql
250 DELE command successful
Завантаження файлів з ftp
get - скачати файл на локальну машину. get fileName або get fileName newFileName
ftp> get file.zip
local: file.zip remote: file.zip
227 Entering Passive Mode.
150 Opening BINARY mode data connection for file.zip (486694 bytes)
226 Transfer complete
486694 bytes received in 0.229 secs (6.5e+04 Kbytes/sec)
Скачуємо file.zip на локальну машину як file2.zip:
ftp> get file.zip file2.zip
local: file2.zip remote: file.zip
227 Entering Passive Mode .
150 Opening BINARY mode data connection for file.zip (486694 bytes)
226 Transfer complete
486694 bytes received in 0.306 secs (9.4e+04 Kbytes/sec)
За допомогою команди get з віддаленого ftp сервера файли копіюються в поточну локальну директорію. Щоб змінити поточну локальну директорію потрібно використовувати команду lcd:
lcd <шлях> - змінити поточну директорію на локальній машині:
ftp> lcd /root
Local directory now /root
Щоб скачати декілька файлів з віддаленого ftp серверу на локальну машину можна використовувати команду mget:
ftp> mget *.sql
mget test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql (23957080 bytes)
226 Transfer complete
23957080 bytes received in 0.233 secs (1e+05 Kbytes/sec)
mget test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql (11873185 bytes)
226 Transfer complete
11873185 bytes received in 0.135 secs (8.6e+04 Kbytes/sec)
Завантаження кожного файлу необхідно підтверджувати (так / ні) y/n.
Ще один варіант скачування mget:
ftp> mget test1.sql test2.sql
mget test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql (11873185 bytes)
226 Transfer complete
11873185 bytes received in 0.101 secs (1.1e+05 Kbytes/sec)
mget test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql (23957080 bytes)
226 Transfer complete
23957080 bytes received in 0.204 secs (1.1e+05 Kbytes/sec)
Завантаження файлів на ftp сервер
put <ім'я файлу> - команда для завантаження одного файлу на ftp сервер:
ftp> put test1.sql
local: test1.sql remote: test1.sql
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.129 secs (9e+04 Kbytes/sec)
Для завантаження декількох файлів відразу можна використовувати команду mput:
ftp> mput test1.sql test2.sql
mput test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.0964 secs (1.2e+05 Kbytes/sec)
mput test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql
226 Transfer complete
23957080 bytes sent in 0.354 secs (6.6e+04 Kbytes/sec)
Завантаження кожного файлу необхідно підтверджувати y / n (так / ні).
Ще один варіант команди mput:
ftp> mput *.sql
mput test1.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test1.sql
226 Transfer complete
11873185 bytes sent in 0.0985 secs (1.2e+05 Kbytes/sec)
mput test2.sql? y
227 Entering Passive Mode.
150 Opening BINARY mode data connection for test2.sql
226 Transfer complete
23957080 bytes sent in 0.2 secs (1.2e+05 Kbytes/sec)
Якщо на фтп завантажуються файли великого розміру, то непогано було б спостерігати за ходом завантаження. Для цього можна використовувати команди hash і tick.
hash - команда після якої ftp друкуватиме символ «#» кожні 1024 байт даних:
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
put file2.tar.gaz
##########################
226 Transfer complete
785888111 bytes sent in 6.94 secs (1.1e+05 Kbytes/sec)
tick - команда буде відображати лічильник байтів:
ftp> tick
Hash mark printing off.
Tick counter printing on (10240 bytes/tick increment).
ftp> put file2.tar.gz
local: file2.tar.gz remote: file2.tar.gz
227 Entering Passive Mode.
150 Opening BINARY mode data connection for file2.tar.gz
Bytes transferred: 912706618 //-> лічильник
226 Transfer complete
912706618 bytes sent in 8.08 secs (1.1e+05 Kbytes/sec)
Ось і весь базовий набір команд для роботи з ftp у консолі. Щоб переглянути список доступних команл на даному FTP сервері можна використовувати команду help:
ftp> help
Commands may be abbreviated. Commands are:
! debug mdir sendport site
$ dir mget put size
account disconnect mkdir pwd status
append exit mls quit struct
ascii form mode quote system
bell get modtime recv sunique
binary glob mput reget tenex
bye hash newer rstatus tick
case help nmap rhelp trace
cd idle nlist rename type
cdup image ntrans reset user
chmod lcd open restart umask
close ls prompt rmdir verbose
cr macdef passive runique ?
delete mdelete proxy send
Також, можна отримати коротку довідку по кожній команді help <команда>:
ftp> help status
status show current status
ftp> help quit
quit terminate ftp session and exit
ftp> help bye
bye terminate ftp session and exit
І на завершення, дві команди, які вище quit або bye для закриття ftp-сесії і виходу:
ftp> quit
221 Goodbye.
Детальну інформацію з описом команд можна отримати за допомогою man ftp у командному рядку:
# man ftp
Formatting page, please wait...
FTP(1) BSD General Commands Manual FTP(1)
NAME
ftp - Internet file transfer program
SYNOPSIS
ftp [-Apinegvd] [host]
pftp [-Apinegvd] [host]
................
...............
Останні новини
Знижка на всі домени України до 21.10.2022!
Шановні користувачі! Цілий тиждень у нас знижка -15% на реєстрацію всіх українських доменів за промокодом defendersday22!Подорожчання низки українських доменів UA ccTLD!
Шановні користувачі! З 1 жовтня 2022 року на нас чекає подорожчання низки українських доменів - in.ua, od.ua, mk.ua!Важливі зміни у роботі низки українських доменів!
Шановні користувачі! У деяких українських доменних зонах збільшено термін періоду Redemption з 30 до 60 днів.Подорожчання виділених IP-адрес (IPv4) у Німеччині!
Шановні користувачі! У Німеччині істотно подорожчали додаткові виділені IP-адреси (IPv4) та IP-мережі.Останні записи з блогу