Підключення до FTP за допомогою командного рядка Linux


4

Мені потрібно завантажити файли через FTP з командного рядка. У мене є така інформація: URL-адреса, ім’я користувача, пароль, порт і те, що я повинен використовувати пасивний режим.

Як завантажити файл із цією інформацією?

Зауважте, що мені доводиться це робити зі сценарію, тому мені потрібно мати можливість вводити цю інформацію автоматично.


1
почати читати ftp man сторінки ?
NicM

2
ftpбуває, бути одним FTP-клієнтом. Інші, можливо, краще підходять залежно від того, що хоче користувач. Просто посилання на чоловічу сторінку не зовсім допомагає.
Даніель Бек

Відповіді:


7

Там багато клієнтів CLI (командного рядка). Найчастіше це просто ftp. У вас є <host>, <port>, <username>, <pass>і «пасивний режим». Використовуючи ftpвам слід:

ftp -p <host> <port>

-pперемикач означає "використовувати пасивний режим". Тоді вас запитають про ваше ім’я користувача та пароль. Після успішного входу в систему (сервер повідомляє про це), ви можете дати кілька команд. Введіть helpі натисніть "Enter", щоб отримати список доступних команд. Ви можете використовувати , наприклад cd, ls, mkdirFTP команди для зміни робочого каталогу (на сервері), список його вміст і створити новий каталог. Якщо до запуску ftpви знаходилися в тому самому каталозі, що і файли, які ви хочете надіслати, ви можете використовувати putабо mputкомандувати для початку фактичної передачі. Перша команда надсилає один файл, другий кілька файлів за допомогою глобулінгу (наприклад mput *pdf, надішле всі файли pdf у поточному каталозі). Щоб отримати просту допомогу щодо команди, яку ви можете використовувати help <command>зсерединиftpдодаток Я б сказав, що цього достатньо для початківців. Для решти використовуйте man ftpабо info ftp. Щоб закінчити сеанс ftp bye. Є й інші способи зробити це, але я думаю, що це просто елегантно :).

Щодо інших клієнтів, тут було вказано кілька цікавих варіантів, але я особисто використовую lftp. Це просто надійний, хороший, гнучкий і простий у користуванні ftp клієнт. Якщо ви віддаєте перевагу більш візуальний підхід, перебуваючи під командним рядком, ви можете перейти до mc«Команди опівночі». Це загальний менеджер файлів додатків, що використовує парадигму Norton Commander, але також може використовуватися для доступу до ftp-серверів.



2

На цьому немає жодної проблеми. Прикладів на Gist дуже багато . Просто перейдіть на цей сайт і знайдіть "FTP скрипт".

Ось я знайшов:

#!/bin/sh

HOST='some.ftp.server'
USER='myuser'
PASSWD='mypass'
FILE='myfile'

ftp -n $HOST <<END_SCRIPT
user ${USER} ${PASSWD}
cd /path/to/something
get $FILE
quit
END_SCRIPT

exit 0

Крім того, командний рядок Foo - це ще один хороший сайт, де я знайшов цей божевільний дивовижний приклад передачі файлу ftp-ish:

Create a file server, listening in port 7000:

while true; do nc -l 7000 | tar -xvf -; done

Then, at client side:

tar c myfile | nc localhost 7000 ##Send file myfile to server
tar c mydir | nc localhost 7000 ## Send directory mydir to server

Як задається пасивний режим? Це важливо для багатьох FTP-сайтів.
Пітер Мортенсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.