Como copiar o conteúdo do arquivo para a área de transferência local de um arquivo em uma máquina remota pelo ssh

19

Para resolver esse problema, sempre tenho que usar scpou rsynccopiar o arquivo no meu computador local para abrir o arquivo e simplesmente copiar o conteúdo do arquivo de texto na área de transferência local. Eu só estava me perguntando se existe uma maneira mais inteligente de fazer isso sem ter a necessidade de copiar o arquivo.

VaTo
fonte
Mudei um pouco o título, porque mantinha a leitura "a área de transferência local de um arquivo" e me perguntava desde quando os arquivos tinham pranchetas.
Anthon
Tudo bem, obrigado @Anthon English não é minha primeira língua, então às vezes eu preciso de ajuda com isso, obrigado.
Vato

Respostas:

23

Claro que você precisa ler o arquivo, mas pode

ssh -e none USER@REMOTE "cat file" | xclip -i

embora isso ainda signifique abrir uma conexão ssh e copiar o conteúdo do arquivo. Mas, finalmente, você não vê mais nada disso;)

E se você estiver se conectando a partir de um computador OS X, use pbcopy:

ssh -e none USER@REMOTE "cat file" | pbcopy
ikrabbe
fonte
Isso é ótimo, embora eu não tenha sido possível. Embora eu tivesse que usar o pbcopy porque estou conectando de um computador mac a uma caixa do CentOS. Eu apenas tive que mudar o xclip para pbcopy e funcionou. Muito bom!
Vato
-e noneseria necessário impedir o tratamento especial ~ do teclado (não da saída de comandos) apenas em sessões interativas. Não é necessário aqui.
Stéphane Chazelas
0

Posso assumir que você está executando o X Window System e algum gerenciador de janelas (KDE / gnome / etc.)? Existem várias aplicações de terminal (Konsole, por exemplo) que possuem um menu interno que permite funções de copiar / colar. Então você poderia:

  1. usuário @ máquina: ~ $ ssh [email protected]
  2. abra o arquivo na máquina remota
  3. destaque o conteúdo do arquivo com o mouse e selecione copiar no menu editar da máquina local.

Ou entendi mal suas reais necessidades?

Stephen Muth
fonte
3
Eu poderia fazer isso com arquivos pequenos, mas com arquivos grandes se eu tentar rolar para cima ou para baixo ele sai do arquivo (você pode experimentá-lo por si mesmo para ver que esta abordagem nem sempre trabalho.)
Vato
com arquivos grandes, pode demorar mais tempo na cópia do que reescrever o script manualmente no xD editor locais
Evhz
0

Usando o Putty como seu cliente SSH, garanta o máximo de linhas de rolagem na sua configuração. Quando você se conecta, pode limpar a tela e rolar para trás e, em seguida, colocar o arquivo no gato e, quando clico com o botão direito na barra de título, posso selecionar "copiar tudo para a área de transferência". Depois, posso colar em um editor na minha máquina local.

Mike Pone
fonte