
WinSCP. Пользовательские команды
Полезные пользовательские команды для WinSCP
tar -xvzf --directory="!?&Extract to which directory:?.!" "!"
tar -czvf "!?&Enter an Archive Name:?archive.tgz!"
--exclude="!?&Exclude files matching pattern:?*.exe!"
!&
gzip -f "!"
gunzip -f "!"
unzip -o "!"
Чтобы распаковать в альтернативный каталог:
unzip -o -d "!?&Extract to directory:?.!" "!"
Чтобы создать архив:
zip -r "!?&Enter an Archive Name:?archive.zip!" !&
rar a -ep "!?&Enter an Archive Name:?archive.rar!" !&
Используйте следующую команду для быстрого удаления больших структур каталогов:
rm -f -r "!"
Эта же команда может запросить подтверждение перед удалением:
tes t"!?Вы действительно хотите удалить ?no!" == "yes" && rm -rf !&
Оба вышеуказанных решения требуют доступа к оболочке. Если у вас его нет, воспользуйтесь следующим решением.
Используйте следующую команду, чтобы удалить большую структуру каталогов в отдельном процессе:
cmd /C start "" cmd /C ""%WINSCP_PATH%\WinSCP.com" /command "open !E" "cd !/" "rm !&" "exit" & "%WINSCP_PATH%\WinSCP.exe" "!E" /refresh "!/""
Проверьте параметры настраиваемой команды: «Локальная команда», «Применить к каталогам» и «Использовать удаленные файлы».
Используйте следующую команду, если текущий протокол не позволяет изменить владельца:
chown "!?New owner:?!" !&
Чтобы изменить группу, используйте chgrp вместо chown. Или используйте следующую команду:
chown "!?New owner (and group: user:group):!" !&
или с двумя отдельными приглашениями:
chown -R "!?New owner:?!":"!?New group:?!" !&
Изменение даты/времени изменения
touch -d "!?Date:!" !&
Рекурсивное изменение разрешений только для файлов и папок
Для изменения прав доступа к каталогу:
find ! -type d -exec chmod !?&Permissions:?755! {} \;
find ! -type f -exec chmod !?&Permissions:?644! {} \;
Проверьте параметры пользовательских команд. Удаленная команда и Применить к каталогам.
cp /path/to/template.html "!?&New HTML file:?!"
Просмотр конца файла (журнал)
В окне консоли
tail "!"
Вы можете дополнительно указать сумму перевода, например.
tail --lines 2000 "!"
Проверьте опцию пользовательской команды. Показать результаты в терминале.
cmd /C start "!@:!/!" "%ProgramFiles%\PuTTY\plink.exe" -P !# !U@!@ tail -f "!/!"
Проверьте параметры пользовательской команды «Локальная команда» и «Использовать удаленные файлы».
find . -name "!?Search for files:?!"
Поиск текста/строки в каталоге
grep -H -r "!?Search for text:?!" * | cut -d: -f1
Резервное копирование файла с текущей датой и временем
cp ! $(echo "!" | sed "s/\.[^.]*$//").$(date '+%Y-%m-%d_%H-%M').$(echo ! awk -F"." '{ print $NF }')
Переименуйте файл с текущей датой и временем
mv ! $(echo "!" | sed "s/\.[^.]*$//").$(date '+%Y-%m-%d_%H-%M').$(echo ! awk -F"." '{ print $NF }')
Используйте следующую удаленную пользовательскую команду для передачи выбранных удаленных файлов на другой сервер:
scp -p -r !& !?Username:?!@!?Host:?!:!?Destination path:?!
Возможно, вы захотите жестко запрограммировать имя пользователя и хост, если вы работаете только с одним целевым сервером. Или вы можете использовать одно приглашение для обоих (возможно, даже для пути назначения), чтобы сохранить гибкость, но при этом сократить количество запросов:
scp -p -r !& !?Username@Host:?!:!?Destination path:?!
Обратите внимание, что вам необходимо убедиться, что вы можете подключиться и пройти аутентификацию на целевом сервере без каких-либо запросов:
- Подключитесь хотя бы один раз с интерактивного терминала (например, SSH-клиента PuTTY), чтобы проверить ключ хоста целевого сервера.
- Используйте, например, пересылку агента для пересылки вашего закрытого ключа на целевой сервер для аутентификации.
- Другой менее безопасный метод аутентификации — использование инструмента sshpass (см. его справочную страницу).