
fromnet | ftp | ftpserv | httpserv | ip | netlog | ping | pingdiff | tcpdump | udpdump | udpsend | web | wget | Команда: ftp sfk ftp host[:port] [параметры] [команда [parms]
sfk sft хост[:порт]
FTP-клиент SFK.
sfk ftp hostname
использует простой протокол FTP через порт 21
для связи с любым (не SFK) FTP-сервером
sfk sft hostname
использует 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 выход
Имена с пробелами требуют кавычек,
при использовании имен с пробелами, например «the file.txt»,
они должны быть заключены в двойные кавычки ""
Только с SFT:
cput x отправить новые или измененные файлы текущего каталога.
Если время сервера (зона) несовместимо, это не сработает и может
отправить все файлы или не отправить ни какие файлы
cget x получить новые или измененные файлы текущего каталога на сервере,
применяются те же ограничения, что и для cput.
run cmd выполнить удаленную команду, если позволяет сервер.
Опции:
-spat активировать шаблоны косой черты, такие как \t \q \xnn
что может быть полезно в выражениях запуска.
-notify=h отображать стрелку в запущенном SFKTray 1.1
имя хоста h всякий раз, когда файлы фактически отправляются.
-raw ftp-протокол даже при подключении к
sfk фтп сервер. по умолчанию под окнами, так как
sfk 1.8.5, при использовании порта 21.
-sft разрешить протокол sft даже при использовании порта 21 с
FTP-сервер sfk, вы также можете установить переменную
окружения 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=мойпароль или SFK_FTP_CPW=мойпароль
Только с SFT:
-noclone не копировать метки времени при put/get
-pres всегда сохранять полные атрибуты файла, включая режимы только для чтения,
по умолчанию оставить файл доступным для записи
владельцем файла и применить umask под linux
-verify дополнительная проверка путем повторного чтения файлов после передачи
и сравнения с переданной контрольной суммой md5
-setexec=x при отправке файлов на сервер Linux установить шаблон
соответствия файлов x как исполняемый файл (chmod +x)
Псевдонимы:
sfk sft - то же, что и sfk ftp, но с использованием порта 2121
sfk list ... +put - то же, что: sfk list ... +sft ... cput
отправлять только измененные и новые файлы
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 (Simple File Transfer)
для улучшения подключения и поддержки 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
Коды возврата для пакетных файлов:
0 файлы не отправлены
1 любые файлы отправлены
См. sfk ftpserv -help
Веб-ссылка
http://stahlworks.com/sfk-ftp
ПРИМЕРЫ:
Примечание. Во всех примерах 'farpc' - это любое имя хоста (удаленного ПК)
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:
лучше всего запустить sft (простая передача файлов)
сервер на другом ПК или виртуальной машине, например:
sfk sftserv -rw
это будет использовать порт 2121, без брандмауэра и других ограничений,
которые обычно блокируют использование ftp-порта 21
Затем можно выполнить команды клиента sfk sft:
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
загрузить файл 'file.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
отправить в mydir все файлы .txt, которые изменились с
момента последней передачи на 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
список файлов на локальном хосте, порт 2121
sfk sft ~3000 dir
список файлов на порту 3000 локального хоста
ПРИМЕЧАНИЕ: существующие файлы перезаписываются без запроса
Убедитесь, что ftp-сервер и клиент запущены в правильных каталогах,
особенно перед mput/mget. |
![]() |