Я использую PSCP для загрузки некоторых файлов из Windows в Linux. Я могу сделать это хорошо, просто загружая один файл за раз. Но у меня есть несколько очень больших каталогов, и я хочу загрузить сразу весь каталог.
Я пытался:
pscp -i C:\sitedeploy\abt-keypair.ppk includes\* root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/*
Выдает ошибку: «pscp: удаленная спецификация файлов / usr / local / tomcat / webapps / ROOT / включает в себя / *: не каталог»
а также
pscp -i C:\sitedeploy\abt-keypair.ppk includes\ root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes/
Выдает ошибку: "scp: includes: не обычный файл"
а также
pscp -i C:\sitedeploy\abt-keypair.ppk includes root@mysite.com:/usr/local/tomcat/webapps/ROOT/includes
Выдает ошибку: "scp: includes: не обычный файл"
-r
?Ответы:
Две проблемы: во-первых, * не идет на стороне назначения. Во-вторых,
-r
для копирования всего каталога и подкаталогов.Скопирует все файлы из локального
includes\
каталога в.../includes/
каталог на сервере.Скопирует сам
includes\
каталог, включая все файлы и подкаталоги, в.../ROOT/
каталог на сервере (где содержимое локального каталога будет сливаться с любым существующим.../ROOT/includes/
каталогом.источник
Отказ от ответственности:
Вам не нужно использовать
-i
для этого. Это для аутентификации файла с закрытым ключом. Просто используйте-r
для рекурсивного копирования исходных файлов.Возможно, вы захотите метод перетаскивания, так как вы используете Windows. Вы можете, например, использовать клиент WINSCP .
источник
Если вы хотите скопировать каталог и его содержимое, вам не нужно указывать спецификацию файла для места назначения. Просто используйте имя каталога, например.
Если вы хотите скопировать каталог и все, что находится под ним, вы можете использовать
-r
:источник