O modo de transferência "Binário" do FTP copia os arquivos exatamente, byte por byte. Simples e direto.
Ao trazer arquivos de texto entre diferentes sistemas operacionais, porém, isso pode não ser o que você deseja - sistemas operacionais diferentes usam códigos diferentes para representar quebras de linha. O modo "ASCII" existe para esse fim: converte automaticamente todas as terminações de linha do formato do sistema de origem para o de destino.
Não tenho certeza sobre "Automático", mas imagino que a extensão do arquivo ou algo semelhante decida se é um arquivo de texto e tente adivinhar o modo apropriado.
O modo que você deseja depende exatamente do que está fazendo com os arquivos ... se você apenas os estiver copiando para fazer backup deles, provavelmente desejará copiar no modo binário para que sejam exatamente iguais quando depois você os restaura no servidor Windows novamente. Se eles precisarem ser usados como arquivos de texto (talvez como arquivos de configuração para um programa de plataforma cruzada?) Dos dois lados, convém usar o modo ASCII para convertê-los.
EDIT: Até onde eu sei, os arquivos FTP do Windows para o Linux nunca devem resultar no desaparecimento de quebras de linha ... no entanto , se você copiá-los no modo ASCII e trazê-los de volta ao servidor Windows no modo binário, o Linux finais de linha no estilo podem não ser reconhecidos na caixa do Windows. (O bloco de notas não os verá; o Wordpad irá; YMMV com outro software.)
(Hoje, essa conveniência - converter as terminações de linha automaticamente - pode parecer estranha em um protocolo básico como o FTP. Quando o FTP foi inventado, porém, o envio de arquivos de texto era a norma, e um dos objetivos do protocolo era isso o mais fácil possível.)
De fato, existem diferenças e elas interferem nas transferências de arquivos sem texto sem formatação, a menos que você use a opção binária - geralmente sempre use se estiver ok :)
fonte
Para qual sistema operacional você está transferindo arquivos de / para? O Linux / Unix usa quebras de linha diferentes do que o Windows. Portanto, se você gerar um arquivo em um computador Linux e o abrir no Windows, poderá parecer estranho. Existem utilitários para corrigir isso, embora, na minha experiência, se você usar o wordpad no Windows, em vez do bloco de notas, você ficará bem.
fonte
dos2unix
e ver se isso corrige as linhasWindows e Unix têm bytes diferentes no final das linhas (Windows é um hex 0D 0A, Unix é apenas um 0A). Ao transferir arquivos no modo binário, os bytes de um arquivo serão movidos de um computador inalterado. Isso é necessário para formatos binários (por exemplo, arquivos ZIP, imagens etc.), mas pode causar problemas com arquivos de texto: por exemplo, o notepad.exe no Windows exibirá um arquivo de texto com apenas quebras de linha no estilo unix como uma linha longa, um editor unix pode exibir ^ M no final de cada linha ao visualizar o estilo do Windows.
Portanto, tecnicamente para os formatos binários (zip, jpg, png e outros), você precisa configurar o FTP como BINARY, enquanto para os formatos de texto (HTML, PHP, CGI, etc.), é necessário configurá-lo para ASCII.
A maioria dos bons programas de FTP também possui uma configuração automática, o que significa que eles determinarão o modo (BINARY ou ASCII) dependendo das extensões de arquivo conhecidas, por exemplo, alternará automaticamente a transferência do arquivo JPG para BINARY e enviará / receberá um arquivo PHP em ASCII modo.
fonte