|
Команда: ftp Запуск простого FTP-клиента без установки
Немедленно запустить из командной строки простой ftp-клиент, не требующий установки,
чтобы разрешить передачу файлов по FTP между любыми компьютерами Windows, Mac OS X, Linux, Raspberry Pi
в неинтерактивном режиме в пакетном файле.
Бесплатный ftp-клиент sfk с открытым исходным кодом лучше всего использовать с бесплатным ftp-сервером sfk.
FTP-клиент SFK
sfk ftp host[:port] [options] [command [parms]
sfk sft host[:port]
sfk ftp hostname использует через порт 21
для общения с любым (не SFK) FTP-сервером.
sfk sft hostname использует простой протокол FTP SFT(Simple File Transfer) через порт 2121
для лучшего подключения, атрибутов файлов и передачи нескольких файлов, только с серверами SFK SFT.
Команды:
put x отправить один файл с именем x
put l r отправить локальный файл l с удаленным именем r
get x получить один файл с именем x
get r l получить файл r с локальным именем l
mput x отправить несколько файлов текущего каталога, в имени которых содержится x.
mput .ext отправить несколько файлов, заканчивающихся на .ext
mget x получает несколько файлов с ftp-сервера, в имени которых содержится x
mget .ext получает несколько файлов, заканчивающихся на .ext
dir список удаленных каталогов
cd x перейти в удаленный каталог x
lcd x перейти в локальный каталог x
!mycmd выполнить локальную команду mycmd
bye выход
Имена с пробелами требуют кавычек:
при использовании имен с пробелами, например «file.txt», они должны быть заключены в двойные кавычки ""
Только с SFT:
cput х Отправлять новые или измененные файлы текущего каталога.
Если время (зона) сервера несовместимо, это не сработает и может отправить все файлы или не отправить ни одного файла.
cget x Получает новые или измененные файлы текущего каталога на сервере.
Применяются те же ограничения, что и для процессора.
run cmd Запустить удаленную команду cmd, если сервер позволяет.
ПАРАМЕТРЫ
-spat - активировать шаблоны косой черты, такие как \t \q \xnn
что может быть полезно в выражениях run
-notify=h - отобразить стрелку в SFKTray 1.1, работающем на
hostname h всякий раз, когда файлы действительно отправляются
-raw - принудительно использовать протокол FTP даже при подключении к
FTP-серверу SFK. По умолчанию под Windows, так как используется порта 21
-sft - разрешить протокол sft даже при использовании порта 21 с
FTP-сервером SFK. Вы также можете установить переменную set SFK_CONFIG=usesft
-verbose - вывести список передаваемых ftp-команд,
и определить, используется ли переменная SFK_FTP_USER/PW.
Полезно для получения дополнительной информации в случае ошибок
-force - продолжить передачу после ошибок
-showip - сообщить, как расширяются короткие ip-адреса, такие как .1.
-quiet - отключить индикатор прогресса и другой вывод
-noprog - нет индикатора прогресса во время передачи
-user=x - или -user x отправляет имя пользователя x вместо анонимного
Вы также можете установить переменную среды, например:
SFK_FTP_USER=myuser или установите SFK_FTP_CUSER=myuser
при этом последний используется только SFK FTP, но не SFK FTPSERV.
-pw=x - или -pw x отправляет пароль аутентификации x
Вы также можете установить переменную окружения, например:
SFK_FTP_PW=mypassword или установите SFK_FTP_CPW=mypassword
Только с SFTL:
-noclone - не копировать метки времени при отправке / получении
-pres - всегда сохранять полные атрибуты файла, включая режимы только для чтения.
по умолчанию сохраняется возможность записи файла владельцем файла и применяется umask в Linux.
-verify - дополнительная проверка путем повторного чтения файлов после передачи
и сравнение с переданной контрольной суммой md5.
-setexec=x - при отправке файлов на сервер linux, установить файлы
сопоставление шаблона x в качестве исполняемого файла (chmod +x).
ПСЕВДОНИМЫ
sfk sft То же, что и SFK FTP, но с использованием порта 2121
sfk list ... +put То же, что SFK list ... +sft ...
отправить только измененные и новые файлы.
sfk list ... +putall То же, что: SFK list ... +sft ... mput
отправить все выбранные файлы.
sfk sft 100 putx x.sh То же, что: put -setexec=* x.sh
Автоматическое расширение IP
Если вы находитесь в той же подсети, что и целевой хост, вы можете указать только последнюю часть IP-номера, например:
sfk ftp 23 ... == sfk ftp 192.168.1.23 ...
sfk ftp 2.23 ... == sfk ftp 192.168.2.23 ...
Эта функция может работать, а может и не работать, в зависимости от вашей операционной системы
и количества сетевых интерфейсов. Добавьте опцию -showip, чтобы увидеть расширенный IP-адрес.
Выбор протокола передачи
При использовании «sfk ftpserv» на сервере и «sfk ftp» на клиенте
Windows используется простой протокол FTP, чтобы избежать ограничений брандмауэра через порт 21.
Чтобы использовать простую передачу файлов SFT для улучшения подключения и поддержки cput/cget,
запустите сервер как «sfk sftserv», а клиент — как «sfk sft», который будет использовать порт 2121.
Атрибуты файла:
При использовании протокола SFT атрибуты файлов Linux отправляются и записываются на получателе,
за исключением флагов владельца файла «rw», которые установлены по умолчанию,
чтобы разрешить перезапись при будущих передачах.
При отправке из Linux в Windows атрибуты типа «x» теряются
Проблемы и решения:
Если передача файлов sfk в sfk через порт 21 остановлена с помощью ECONNRESET или ECONNABORTED, это, вероятно, вызвано
через брандмауэр. попробуйте опцию -raw, чтобы использовать обычный FTP.
Альтернативно используйте «sfk sftserv» на сервере и «sfk sft» на клиенте, который использует неограниченный порт 2121.
Коды возврата для bat-файлов
0 нет отправленных файлов
1 Любые отправленные файлы
СМОТРИТЕ ТАКЖЕ
sfk ftpserv -help
ПРИМЕРЫ
sfk ftp farpc put test.zip Отправить test.zip на farpc
sfk ftp farpc put test.zip "the dir/test1.zip" то же самое, но с удаленным именем test1.zip
в целевой папке "the dir"
sfk ftp -user=foo -pw=bar farpc put test.zip то же самое, но с аутентификацией
sfk ftp 192.168.1.99:30199 get test.zip Получите test.zip с порта 192.168.1.99:30199
sfk ftp farpc mput .cpp Отправьте все файлы .cpp локального каталога в farpc.
Содержимое подпапок НЕ включено
sfk ftp farpc mget * получить все файлы из каталога farpc,
с перезаписью всех в локальном каталоге
sfk ftp hostname Войдите в интерактивный режим, в котором вы можете ввести
вышеуказанные команды напрямую. Например:
!dir запускает команду "dir" локально
sfk sel -today mydir .css .php +ftp farpc mput Загрузите все файлы .css и .php,
измененные сегодня в папке mydir на FTP-сервере farpc.
Прежде чем сделать это, убедитесь, что в FarPC есть та же структура папок (mydir на верхнем уровне)
sfk today mydir .css .php +ftp farpc cput То же самое, что и выше, но проверяется также на FarPC
какие из выбранных файлов на самом деле отличаются.
Если используется SFT с sfk sft server:
Рекомендуется использовать SFT (Simple File Transfer) на другом ПК или виртуальной машине, например:
sfk sftserv -rw Это будет использовать порт 2121, избегая брандмауэра и других
ограничений, которые обычно блокируют использование FTP-порта 21.
В этом случае SFK-клиент может использовать следующее:
sfk sft farpc get myfile.txt Скачайте MyFile.txt немедленно. Если локальный файл
существует с тем же именем, то он перезаписывается
sfk sft farpc dir "the dir" Показать содержимое папки 'the dir'
sfk sft farpc get "the dir/a file.txt" local.txt
Скачать 'Файл.txt' в удаленную папку 'The Dir' на другое локальное имя файла 'local.txt'
sfk sft farpc mget myfile Скачайте все файлы, в названии которых есть слово "myfile".
SFK сначала покажет «имитационный» предварительный просмотр.
Добавьте -yes, чтобы действительно загрузить файлы
sfk sft farpc mput myfile Отправить все файлы, в названии которых есть слово "myfile".
Если на сервере существуют файлы с таким же именем, то они перезаписываются
sfk sft farpc get the\sub\dir\doc.txt
По умолчанию sfk sftserv разрешает глубокий прямой доступ к файлам в папках.
Все необходимые выходные каталоги создаются автоматически.
Этот глубокий доступ нельзя использовать с mget и mput.
sfk sel mydir .txt +sft farpc cput
Отправить все файлы .txt в mydir, которые изменились с момента последней передачи в FARPC.
sfk filter filelist.txt +sft farpc mget mydir
Создать список с именами файлов, скачать перечисленные файлы с сервера farpc в папку "mydir"
sfk sft 192.168.1.100 cput .txt Подключиться к серверу .100 и отправить все файлы .txt,
которые являются более новыми или были добавлены в локальную папку
sfk sft 2.100 cget .txt Подключиться к серверу, например, 192.168.2.100
и загрузите все файлы .txt, которые являются более новыми или были добавлен в удаленную папку
sfk sft farpc -pw mypw run "sh myscript.sh >tmp1.txt 2>&1"
Выполнить команду на удаленном сервере, перенаправив вывод в файл tmp1.txt. Требуется SFK-сервер SFT
с опцией -run и аутентификацией -pw на обеих сторонах
sfk today mydir +sft -quiet .100 cput -yes +sleep 3000 +loop
Проверять папку mydir каждые 3 секунды на наличие файлов, измененных сегодня
и загрузитm их в .100, если они новее, чем на сервере
sfk sft ~ dir Список файлов на порту localhost 2121
sfk sft ~3000 dir Список файлов на порту localhost 3000
Примечание: Существующие файлы перезаписываются без запроса обратно.
Убедитесь, что ftp-сервер и клиент запущены в правильных каталогах, особенно перед mput/mget.
|
|