Existem outros comandos como scp, mas para apagar arquivos e pastas?

11

Estou usando o scp para copiar coisas para um local remoto. Mas, às vezes, scp não funciona como esperado, descobri que às vezes a cópia não é concluída adequadamente (possivelmente quando eu adicionei novos arquivos à pasta que estou copiando).

Por isso, primeiro quero remover a pasta remota e depois fazer a cópia para garantir que eu tenha exatamente o que preciso.

Existem outros comandos como scp (por exemplo, srm ou smv)? Ou existe uma maneira de remover pastas e arquivos remotos?

    
por code_fodder 01.10.2013 / 15:42

4 respostas

19

O comando ssh permite executar praticamente qualquer comando no host remoto, por exemplo,

ssh yourlogin@remotehost rmdir somedir

onde neste exemplo somedir é relativo ao diretório inicial do seu login.

    
por 01.10.2013 / 16:02
3

O Rsync copiará um caminho / árvore inteiro e verificará os arquivos que já estão no destino e não se incomodará em copiá-los se eles não forem alterados. Se você usar a opção --delete, ela excluirá todos os arquivos que estiverem no destino e que não estejam mais na origem. Funciona com ssh

    
por 01.10.2013 / 16:02
3

Se o seu servidor SSH remoto suportar o subsistema SFTP (a maioria sim, a menos que tenha sido explicitamente desativada), pode usar o sftp shell (ou qualquer outro SFTP client ) para manipular arquivos e diretórios no servidor remoto.

Infelizmente, uma coisa que a shell básica sftp aparentemente não faz not é a remoção recursiva do diretório; Para excluir um diretório, você deve excluir todo o seu conteúdo primeiro. A maioria dos outros clientes (especialmente os gráficos) normalmente o suportam.

(Você não menciona qual é o seu sistema operacional local, mas se é o Linux, você pode use seu gerenciador de arquivos nativo como cliente GUI SFTP apontando para um URL como sftp: // usuário @ host / caminho /. Para Windows, o WinSCP é um cliente decente, e FileZilla é uma boa solução multi-plataforma.)

    
por 01.10.2013 / 20:33
1

Para esvaziar um diretório remoto (/ local), use o rsync assim:

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

Cuidado - remove tudo abaixo do destino especificado!

    
por 06.06.2014 / 09:35

Tags