Como posso transferir arquivos do UNIX para o Windows?

Como posso transferir arquivos do UNIX para o Windows?

Quero transferir um arquivo de um servidor UNIX para um Windows 2003 Server, então baixei copsshno servidor Windows e opensshjá está instalado no servidor UNIX.

Quando executo o seguinte comando (no servidor UNIX):

scp -r /file_in_unix/ user@windows_hostname:\c:\\\

A seguinte saída aparece (na tela do servidor UNIX):

100% |***************************************************************|   562       00:00

Porém, quando vou ver o arquivo na Cunidade do servidor Windows, não encontro nada. Por que o arquivo não está aparecendo?

Responder1

O caminho de destino parece errado - para a maioria dos shells unix, a barra invertida é um caractere de escape e não um marcador de caminho, então acho que o arquivo foi colocado no diretório inicial do usuário SSH com um nome de arquivo estranho.

O IIRC copssh é baseado no cygwin, então o que você provavelmente precisava para executar é:

scp -r /file_in_unix/ user@windows_hostname:/cygdrive/c/

Uma alternativa para copiar para um serviço SSH na máquina Windows é usar um cliente GUI comoWinSCPna caixa do Windows para fazer login na máquina Unix e transferir os arquivos dessa maneira - embora isso não seja adequado se você estiver tentando automatizar o processo.

Se você tiver acesso privilegiado na máquina unix (ou seja, você é, ou pode se tornar via sudo ou similar, root) e tem o suporte relevante instalado, você pode simplesmente copiar os arquivos para um compartilhamento do Windows. Você não diz qual Unix está usando. Para Ubuntu e similares, verificando se o suporte está presente e instalando-o, se não puder ser feito com sudo aptitude install smbfs, você pode montar um compartilhamento Windwos com algo como sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName(onde 11.22.33.44 é o endereço IP da máquina Windows, dependendo da configuração da sua rede, você pode ser capaz de se referir à máquina pelo nome em vez do endereço). Depois de fazer isso, você pode simplesmente usar as ferramentas básicas de gerenciamento de arquivos ( cp, mv, ...) para interagir com o compartilhamento do Windows e ligar umount /mnt/tmpquando terminar. Talvez você queira escolher um nome de ponto de montagem mais significativo que /mnt/tmp. Você pode deixar o compartilhamento montado, claro, caso a transferência dos dados seja automatizada/agendada. Este método pressupõe que a máquina Unix pode ver os compartilhamentos de arquivos da máquina Windows através de quaisquer arranjos de firewall que possam existir entre eles.

Responder2

Você também pode fazer o contrário e extrair arquivos do lado do Windows em vez de enviar do lado do Unix. Dê uma olhada em ferramentas comoWinSCPque é uma ferramenta gráfica para transferências de arquivos SCP que permite escolher entre a aparência do Windows Explorer ou do Norton Commander, ambos intuitivos para você. Uma vez logado, você pode navegar até os arquivos de seu interesse "no jeito Windows" e arrastá-los e soltá-los onde quiser.

Responder3

UsarWinSCPferramenta. Funciona como um encanto.

Responder4

Por que não instalar o Samba na caixa Unix? Então você pode mapear unidades entre os dois sistemas. Alternativamente, eu usaria o psftp (do pacote putty) em vez da linha de comando scp, já que você não está familiarizado com ele e aparentemente não precisa fazer um script.

informação relacionada