[[A8R.ru]]
...
WinSCP. Пользовательские команды

Полезные пользовательские команды для WinSCP

22.03.2024
WinSCP

Содержание:

Tar/Gzip

tar -xvzf --directory="!?&Extract to which directory:?.!" "!"
tar -czvf "!?&Enter an Archive Name:?archive.tgz!"
 --exclude="!?&Exclude files matching pattern:?*.exe!"
  !&

Gzip

gzip -f "!"
gunzip -f "!"

Zip

 

Чтобы распаковать в текущий каталог:
unzip -o "!"

Чтобы распаковать в альтернативный каталог:

unzip -o -d "!?&Extract to directory:?.!" "!"

Чтобы создать архив:

zip -r "!?&Enter an Archive Name:?archive.zip!" !&

Rar

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 }')

Удаленный перевод (FXP)

Используйте следующую удаленную пользовательскую команду для передачи выбранных удаленных файлов на другой сервер:

scp -p -r !& !?Username:?!@!?Host:?!:!?Destination path:?!

Возможно, вы захотите жестко запрограммировать имя пользователя и хост, если вы работаете только с одним целевым сервером. Или вы можете использовать одно приглашение для обоих (возможно, даже для пути назначения), чтобы сохранить гибкость, но при этом сократить количество запросов:

scp -p -r !& !?Username@Host:?!:!?Destination path:?!

Обратите внимание, что вам необходимо убедиться, что вы можете подключиться и пройти аутентификацию на целевом сервере без каких-либо запросов:

  • Подключитесь хотя бы один раз с интерактивного терминала (например, SSH-клиента PuTTY), чтобы проверить ключ хоста целевого сервера.
  • Используйте, например, пересылку агента для пересылки вашего закрытого ключа на целевой сервер для аутентификации.
  • Другой менее безопасный метод аутентификации — использование инструмента sshpass (см. его справочную страницу).