12

Я использую scp для копирования материала в удаленное место. Но иногда scp не работает должным образом, я обнаружил, что иногда копирование не завершается должным образом (возможно, когда я добавил новые файлы в папку, которую я копирую).

Поэтому я хочу сначала удалить удаленную папку, а затем сделать копию, чтобы убедиться, что у меня есть именно то, что мне нужно.

Есть ли другие команды, такие как scp (например, srm или smv)? Или есть способ удалить удаленные папки и файлы?

4 ответа4

19

Команда ssh позволит вам выполнить практически любую команду на удаленном хосте, например:

ssh yourlogin@remotehost rmdir somedir

где в этом примере somedir относится к домашнему каталогу yourlogin.

3

Rsync скопирует весь путь / дерево и проверит файлы, уже находящиеся в месте назначения, и не будет копировать их, если они не изменились. Если вы используете опцию --delete, он удалит все файлы, которые находятся в месте назначения, которых больше нет в источнике. Работает над ssh

3

Если ваш удаленный SSH-сервер поддерживает подсистему SFTP (в большинстве случаев, если она явно не отключена), вы можете использовать оболочку sftp (или любой другой SFTP-клиент) для управления файлами и каталогами на удаленном сервере.

К сожалению, основная оболочка sftp видимому, не обрабатывает рекурсивное удаление каталогов; Для того, чтобы удалить каталог, вы должны сначала удалить все его содержимое. Большинство других клиентов (особенно графических) обычно поддерживают это.

(Вы не упоминаете, какая у вас локальная ОС, но если это Linux, вы можете использовать свой собственный файловый менеджер в качестве клиента SFTP с графическим интерфейсом , указав его на URL-адрес, например, sftp://user @ host/path/. Для Windows WinSCP - достойный клиент, а FileZilla - хорошее кроссплатформенное решение.)

1

Чтобы очистить удаленный (/local) каталог, используйте rsync следующим образом:

rsync -r --delete-excluded --exclude=* / server:/tmp/empty_this_dir/

Будьте осторожны - он удаляет все ниже указанного места назначения!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .