Quando você digita em um shell, o shell reconhece alguns caracteres como comandos. Por exemplo, o caractere de retorno de carro (o caractere enviado pela tecla Enter ) faz com que o shell execute o comando. O caractere de tabulação faz com que o shell execute a conclusão. Quando você cola algo na janela do terminal do PuTTY, do ponto de vista do shell, é a mesma coisa que se você tivesse digitado esses caracteres. Então, no ponto em que o caractere de tabulação é colado, o shell executa a conclusão, ele não insere uma guia.
A maneira mais fácil de copiar um arquivo sem transformá-lo seria usar o programa PSCP ou PSFTP do PuTTY para copiar o arquivo. Esta é a maneira mais simples conceitualmente, mas tem a sobrecarga de executar outro programa, autenticando, escolhendo um diretório, etc.
Se você quiser algo inline, cole diretamente em cat
, em vez de em um documento here. Então você estaria colando no editor de linhas do terminal, não no editor de linha do shell. Como o editor de linha do terminal é muito primitivo, apenas alguns caracteres de controle têm um significado especial, não incluindo a guia. Pressione Ctrl + D no início de uma linha para terminar a entrada.
[darkstar /]$ cat >text.txt Paste Ctrl+D [darkstar /]$
Se você deseja transferir dados arbitrários em um meio que interpreta caracteres de controle, você pode codificá-los em um formato que use apenas caracteres "domar". Base64 é um deles; ele não usa nenhum caractere de controle e ignora espaços em branco e novas linhas. O GNU coreutils, que faz parte da instalação básica no Linux e no Cygwin, inclui um base64
comando . No lado do remetente, execute base64 <file-to-decode
, por exemplo,
- No Windows: execute
base64 c:/path/to/test.txt
a partir de um terminal Cygwin - Copie a saída.
- No shell da janela PuTTY, digite 'base64 -d > /tmp/test.txt e pressione Enter .
- Cole a saída de
base64
. - Pressione Ctrl + D .