Manuais para a linha de comandos

Man » Manual do ftp online - documentação detalhada online para a página de manual do ftp

🌍
tnftp — Programa de transferência de arquivos pela Internet

SINTAXE

tnftp  [-46AadefginpRtVv?] [-N netrc] [-o output] [-P port] [-q quittime] [-r retry] [-s srcaddr]
[-T dir,max[,inc]]    [-x    xfersize]     [[user@]host [port]]     [[user@]host:[path][/]]
[file:///path]                    [ftp://[user[:password]@]host[:port]/path[/][;type=type]]
[http://[user[:password]@]host[:port]/path]    [https://[user[:password]@]host[:port]/path]
...
tnftp -u url file ...

DESCRIÇÃO

tnftp é a interface do usuário para o protocolo padrão de transferência de arquivos da Internet. O programa permite que
um usuário transfira arquivos para e de um site de rede remoto.

Os últimos cinco argumentos buscarão um arquivo usando os protocolos FTP ou HTTP, ou por cópia direta, para o diretório atual. Isso é ideal para scripts. Consulte a seção "BUSCA AUTOMÁTICA DE ARQUIVOS" abaixo para mais informações.

As opções podem ser especificadas na linha de comando ou para o interpretador de comandos.

-4          Força o tnftp a usar apenas endereços IPv4.

-6          Força o tnftp a usar apenas endereços IPv6.

-A          Força o modo FTP ativo. Por padrão, o tnftp tentará usar o modo FTP passivo e, se o modo passivo não for suportado pelo servidor,
ele retornará ao modo ativo. Esta opção faz com que o
tnftp sempre use uma conexão ativa. Isso é útil apenas para conectar a
servidores muito antigos que não implementam o modo passivo corretamente.

-a          Faz com que o tnftp ignore o procedimento de login normal e use um login anônimo.

-d          Habilita a depuração.

-e          Desabilita a edição na linha de comando. Isso é útil para o modo ange-ftp do Emacs.

-f          Força um recarregamento do cache para transferências que passam pelos proxies FTP ou HTTP.

-g          Desabilita a expansão de nomes de arquivo.

-i          Desativa o prompt interativo durante transferências de vários arquivos.

-N netrc    Use netrc em vez de ~/.netrc. Consulte a seção "O ARQUIVO .netrc" para mais informações.

-n          Impede que o tnftp tente "fazer login automaticamente" na conexão inicial para transferências não automáticas. Se o login automático estiver habilitado, o tnftp verificará o arquivo .netrc (veja abaixo)
no diretório inicial do usuário para obter uma entrada que descreva uma conta no
máquina remota. Se nenhuma entrada existir, o tnftp solicitará o nome de login da máquina remota
(o padrão é a identidade do usuário na máquina local) e, se necessário, solicitará uma
senha e uma conta com a qual fazer login. Para substituir o login automático para transferências automáticas, especifique o nome de usuário (e, opcionalmente, a senha) conforme apropriado.

-o output   Ao buscar arquivos automaticamente, salve o conteúdo em output. output é analisado de acordo com
as "CONVENÇÕES DE NOMEAÇÃO DE ARQUIVOS" abaixo. Se output não for '-' ou não começar com '|',
então apenas o primeiro arquivo especificado será recuperado em output; todos os outros arquivos
serão recuperados no nome base do nome remoto deles.

-P port     Define o número da porta para port.

-p          Habilita a operação em modo passivo para uso atrás de firewalls de filtragem de conexão.
Esta opção foi descontinuada, pois o tnftp agora tenta usar o modo passivo por padrão,
voltando para o modo ativo se o servidor não suportar conexões passivas.

-q quittime

Sai se a conexão estiver inativa por quittime segundos.

-R          Reinicia todos os downloads automáticos que não são proxy.

-r wait     Tenta novamente a conexão se ela falhar, aguardando wait segundos.

-s srcaddr  Usa srcaddr como o endereço IP local para todas as conexões.

-t          Habilita o rastreamento de pacotes.

-T direction,maximum[,increment]

Define a taxa máxima de transferência para direction para maximum bytes/segundo, e, se especificado, o incremento para incrementar bytes/segundo. Consulte rate para obter mais informações.

-u url file ...

Faz upload de arquivos na linha de comando para url, onde url é um dos tipos de URL ‘ftp://’ suportados pelo download automático (com um nome de arquivo de destino opcional para uploads de arquivo único), e file é um ou mais arquivos locais a serem enviados.

-V          Desativa o modo verbose e o progresso, substituindo o padrão de habilitado quando a saída é para um
terminal.

-v          Habilita o modo verbose e o progresso. Este é o padrão se a saída for para um
terminal (e, no caso do progresso, tnftp é o processo em primeiro plano). Força o tnftp a exibir todas as respostas do servidor remoto, bem como relatar as estatísticas de transferência de dados.

-x xfersize

Define o tamanho dos buffers de envio e recebimento do socket para xfersize. Consulte xferbuf para obter mais informações.

-?          Exibe ajuda no stdout e sai.

O host do cliente com o qual o tnftp deve se comunicar pode ser especificado na linha de comando. Se isso for feito, o tnftp tentará imediatamente estabelecer uma conexão com um servidor FTP nesse host; caso contrário, o tnftp entrará em seu interpretador de comandos e aguardará as instruções do usuário. Quando o tnftp estiver aguardando comandos do usuário, o prompt ‘ftp>’ é fornecido ao usuário. Os seguintes comandos são reconhecidos pelo tnftp:

! [comando [args]]

Invoca um shell interativo na máquina local. Se houver argumentos, o primeiro é considerado um comando a ser executado diretamente, com o restante dos argumentos como seus argumentos.

$ macro-name [args]

Executa a macro macro-name que foi definida com o comando macdef. Os argumentos são passados para a macro sem expansão.

account [passwd]

Fornece uma senha suplementar necessária por um sistema remoto para acesso a recursos uma vez que um login foi concluído com sucesso. Se nenhum argumento for incluído, o usuário será solicitado a inserir uma senha da conta em um modo de entrada não ecoante.

append local-file [remote-file]

Anexa um arquivo local a um arquivo na máquina remota. Se remote-file não for especificado, o nome do arquivo local é usado para nomear o arquivo remoto após ser alterado por qualquer configuração de ntrans ou nmap. A transferência de arquivo usa as configurações atuais para tipo, formato, modo e estrutura.


ascii       Define o tipo de transferência de arquivo como ASCII de rede. Este é o tipo padrão.

bell        Faça com que um sinal sonoro seja emitido após a conclusão de cada comando de transferência de arquivo.

binary      Define o tipo de transferência de arquivo para suportar a transferência de imagem binária.

bye         Termine a sessão FTP com o servidor remoto e saia do tnftp. O final de um arquivo também terminará a sessão e sairá.

case        Alterne o mapeamento de maiúsculas e minúsculas do nome do arquivo do computador remoto durante os comandos get, mget e mput. Quando case está ativado (o padrão é desativado), os nomes de arquivos do computador remoto com todas as letras em maiúsculas são gravados no diretório local com as letras mapeadas para minúsculas.

cd remote-directory
    Altere o diretório de trabalho no computador remoto para remote-directory.

cdup        Altere o diretório de trabalho do computador remoto para o diretório pai do diretório de trabalho atual do computador remoto.

chmod mode remote-file
    Altere os modos de permissão do arquivo remote-file no sistema remoto para mode.

close       Termine a sessão FTP com o servidor remoto e retorne ao interpretador de comandos. Quaisquer macros definidas são apagadas.

cr          Alterne a remoção de retorno de carro durante a recuperação de arquivos do tipo ascii. Os registros são denotados por uma sequência de retorno de carro/nova linha durante a transferência de arquivos do tipo ascii. Quando cr está ativado (o padrão), os retornos de carro são removidos desta sequência para estar em conformidade com o delimitador de linha única Unix. Os registros em sistemas remotos que não são Unix podem conter novas linhas simples; quando uma transferência do tipo ascii é feita, essas novas linhas podem ser distinguidas de um delimitador de registro apenas quando cr está desativado.

debug [debug-value]
    Alterne o modo de depuração. Se um debug-value opcional for especificado, ele será usado para definir o nível de depuração. Quando a depuração está ativada, o tnftp imprime cada comando enviado para a máquina remota, precedido pela string ‘-->’.

delete remote-file
    Exclua o arquivo remote-file na máquina remota.

dir [remote-path [local-file]]
    Imprima uma listagem do conteúdo de um diretório na máquina remota. A listagem inclui quaisquer informações específicas do sistema que o servidor escolher incluir; por exemplo, a maioria dos sistemas Unix produzirá a saída do comando ‘ls -l’. Se remote-path não for especificado, o diretório de trabalho atual será usado. Se o prompt interativo estiver ativado, o tnftp solicitará que o usuário verifique se o último argumento é realmente o arquivo local de destino para receber a saída do dir. Se nenhum arquivo local for especificado ou se local-file for ‘-’, a saída será enviada para o terminal.

disconnect  Um sinônimo para close.

edit        Alterne a edição de linha de comando e o preenchimento automático de comandos e arquivos com base no contexto. Isso é habilitado automaticamente se a entrada for de um terminal e desabilitado caso contrário.

epsv, epsv4, epsv6
Alterna o uso dos comandos EPSV e EPRT estendidos em todas as conexões IP, IPv4 e IPv6, respectivamente. Primeiro, tenta EPSV/EPRT e, em seguida, PASV/PORT. Isso é habilitado por padrão. Se um comando estendido falhar, essa opção será temporariamente desabilitada durante a duração da conexão atual ou até que epsv, epsv4 ou epsv6 sejam executados novamente.

exit
Um sinônimo para bye.

features
Exibe os recursos que o servidor remoto oferece (usando o comando FEAT).

fget localfile
Recupera os arquivos listados em localfile, que possui uma linha por nome de arquivo.

form format
Define o formato de transferência de arquivo para format. O formato padrão (e o único suportado) é ‘non-print’.

ftp host [port]
Um sinônimo para open.

gate [host [port]]
Alterna o modo gate-ftp, que era usado para se conectar através dos proxies FTP TIS FWTK e Gauntlet. Isso não será permitido se o servidor gate-ftp não tiver sido definido (seja explicitamente pelo usuário ou da variável de ambiente FTPSERVER). Se host for fornecido, o modo gate-ftp será habilitado e o servidor gate-ftp será definido como host. Se port também for fornecido, ele será usado como a porta para se conectar ao servidor gate-ftp.

get remote-file [local-file]
Recupera o remote-file e o armazena na máquina local. Se o nome do arquivo local não for especificado, ele recebe o mesmo nome que tem na máquina remota, sujeito a alterações pelas configurações atuais de case, ntrans e nmap. As configurações atuais para type, form, mode e structure são usadas durante a transferência do arquivo.

glob
Alterna a expansão de nomes de arquivo para mdelete, mget, mput e mreget. Se o globbing for desativado com glob, os nomes dos arquivos serão considerados literalmente e não expandidos. O globbing para mput é feito como em csh(1). Para mdelete, mget e mreget, cada nome de arquivo remoto é expandido separadamente na máquina remota e as listas não são mescladas. A expansão de um nome de diretório provavelmente será diferente da expansão do nome de um arquivo comum: o resultado exato depende do sistema operacional estrangeiro e do servidor FTP, e pode ser visualizado executando ‘mls remote-files -’. Observe: mget, mput e mreget não se destinam a transferir subárvores inteiras de diretórios de arquivos. Isso pode ser feito transferindo um arquivo [tar]({filename}../../tar)(1) da subárvore (no modo binário).

hash [size]
Alterna a impressão de hash (‘\#’) para cada bloco de dados transferido. O tamanho de um bloco de dados é, por padrão, 1024 bytes. Isso pode ser alterado especificando o tamanho em bytes. Habilitar hash desativa o progresso.

help [command]
Imprime uma mensagem informativa sobre o significado do comando. Se nenhum argumento for fornecido, tnftp imprime uma lista dos comandos conhecidos.

idle [seconds]
Define o temporizador de inatividade no servidor remoto para seconds segundos. Se seconds for omitido, o temporizador de inatividade atual será impresso.

image
Um sinônimo para binary.

lcd [directory]
Altera o diretório de trabalho na máquina local. Se nenhum diretório for especificado, o diretório inicial do usuário será usado.

less file   Um sinônimo para page.

lpage local-file

Exibe local-file com o programa especificado pela opção set pager.

lpwd        Imprime o diretório de trabalho na máquina local.

ls [remote-path [local-file]]

Um sinônimo para dir.

macdef macro-name

Define um macro. As linhas subsequentes são armazenadas como o macro macro-name; uma linha nula (caracteres de nova linha consecutivos em um arquivo ou retornos de carro do terminal) termina o modo de entrada de macro. Existe um limite de 16 macros e 4096 caracteres totais em todas as macros definidas. Os nomes de macro podem ter no máximo 8 caracteres. Os macros são aplicáveis apenas à sessão atual em que são definidos (ou se definidos fora de uma sessão, à sessão invocada com o próximo comando open) e permanecem definidos até que um comando close seja executado. Para invocar um macro, use o comando $ (veja acima).

O processador de macro interpreta ‘$’ e ‘\’ como caracteres especiais. Um ‘$’ seguido por um número (ou números) é substituído pelo argumento correspondente no comando de invocação de macro. Um ‘$’ seguido por um ‘i’ sinaliza ao processador de macro que o macro em execução deve ser repetido. Na primeira passagem, ‘$i’ é substituído pelo primeiro argumento no comando de invocação de macro, na segunda passagem é substituído pelo segundo argumento e assim por diante. Um ‘\’ seguido por qualquer caractere é substituído por esse caractere. Use o ‘\’ para evitar tratamento especial do ‘$’.

mdelete [remote-files]

Exclui os remote-files na máquina remota.

mdir remote-files local-file

Semelhante a dir, exceto que vários arquivos remotos podem ser especificados. Se o prompt interativo estiver ativado, o tnftp solicitará ao usuário que verifique se o último argumento é realmente o arquivo local de destino para receber a saída de mdir.

mget remote-files

Expande os remote-files na máquina remota e executa um get para cada nome de arquivo resultante. Consulte glob para obter detalhes sobre a expansão de nomes de arquivo. Os nomes de arquivo resultantes serão processados de acordo com as configurações case, ntrans e nmap. Os arquivos são transferidos para o diretório de trabalho local, que pode ser alterado com lcd directory; novos diretórios locais podem ser criados com ! mkdir directory.

mkdir directory-name

Cria um diretório na máquina remota.

mls remote-files local-file

Semelhante a ls, exceto que vários arquivos remotos podem ser especificados e o local-file deve ser especificado. Se o prompt interativo estiver ativado, o tnftp solicitará ao usuário que verifique se o último argumento é realmente o arquivo local de destino para receber a saída de mls.

mlsd [remote-path]

Exibe o conteúdo de remote-path (que deve ser o diretório atual, se não for especificado) em um formato legível por máquina, usando MLSD. O formato da exibição pode ser alterado com ‘remopts mlst ...’.

mlst [remote-path]

Exibe os detalhes sobre remote-path (que deve ser o diretório atual se não for especificado) em um formato legível por máquina, usando MLST. O formato da exibição pode ser alterado com ‘remopts mlst ...’.


mode mode-name

Define o modo de transferência de arquivos para mode-name. O padrão (e o único suportado) é ‘stream’.

modtime remote-file

Mostra a última hora de modificação do arquivo na máquina remota, no formato RFC 2822.

more file

Um sinônimo para page.

mput local-files

Expande os curingas na lista de arquivos locais fornecidos como argumentos e executa um put para cada arquivo na lista resultante. Consulte glob para obter detalhes sobre a expansão de nomes de arquivo. Os nomes de arquivo resultantes serão então processados de acordo com as configurações de ntrans e nmap.

mreget remote-files

Semelhante a mget, mas executa um reget em vez de get.

msend local-files

Um sinônimo para mput.

newer remote-file [local-file]

Obtém o arquivo apenas se a hora de modificação do arquivo remoto for mais recente do que o arquivo no sistema atual. Se o arquivo não existir no sistema atual, o arquivo remoto será considerado mais recente. Caso contrário, este comando é idêntico a get.

nlist [remote-path [local-file]]

Um sinônimo para ls.

nmap [inpattern outpattern]

Define ou remove o mecanismo de mapeamento de nomes de arquivo. Se nenhum argumento for especificado, o mecanismo de mapeamento de nomes de arquivo será removido. Se os argumentos forem especificados, os nomes de arquivo remotos serão mapeados durante os comandos mput e os comandos put emitidos sem um destino remoto especificado. Se os argumentos forem especificados, os nomes de arquivo locais são mapeados durante os comandos mget e os comandos get emitidos sem um destino local especificado. Este comando é útil ao se conectar a um computador remoto não-Unix com convenções ou práticas de nomenclatura de arquivos diferentes. O mapeamento segue o padrão definido por inpattern e outpattern.

inpattern é um modelo para nomes de arquivo de entrada (que podem já ter sido processados de acordo com as configurações de ntrans e case). A modelagem de variáveis é realizada
incluindo as sequências ‘$1’, ‘$2’, ..., ‘$9’ em inpattern. Use ‘\’ para evitar este tratamento especial do caractere ‘$’. Todos os outros caracteres são tratados literalmente
e são usados para determinar os valores da variável nmap [inpattern]. Por exemplo, dado
inpattern ‘$1.$2’ e o nome do arquivo remoto ‘mydata.data’, ‘$1’ teria o valor
‘mydata’ e ‘$2’ teria o valor ‘data’.

O outpattern determina o nome do arquivo mapeado resultante. As sequências ‘$1’, ‘$2’, ..., ‘$9’ são substituídas por qualquer valor resultante do modelo inpattern. A sequência ‘$0’ é substituída pelo nome do arquivo original. Além disso, a sequência [seq1,seq2] é substituída por seq1 se seq1 não for uma string nula; caso contrário, é substituída por seq2. Por exemplo, o comando

nmap $1.$2.$3 [$1,$2].[$2,file]

produziria
o nome do arquivo de saída ‘myfile.data’ para nomes de arquivo de entrada ‘myfile.data’ e
‘myfile.data.old’, ‘myfile.file’ para o nome do arquivo de entrada ‘myfile’ e ‘myfile.myfile’
para o nome do arquivo de entrada ‘.myfile’. Espaços podem ser incluídos em outpattern, conforme no exemplo:

nmap $1 sed s/ *$// > $1

Use o caractere '\' para evitar o tratamento especial dos caracteres '$', '[', ']' e ','.

ntrans [inchars [outchars]]

Define ou desfaz o mecanismo de tradução de caracteres de nomes de arquivos. Se nenhum argumento for especificado, o mecanismo de tradução de caracteres de nomes de arquivos é desativado. Se argumentos forem especificados, os caracteres nos nomes de arquivos remotos são traduzidos durante os comandos mput e os comandos put emitidos sem um nome de arquivo de destino remoto especificado. Se argumentos forem especificados, os caracteres nos nomes de arquivos locais são traduzidos durante os comandos mget e os comandos get emitidos sem um nome de arquivo de destino local especificado. Este comando é útil ao conectar-se a um computador remoto não-Unix com convenções ou práticas de nomenclatura de arquivos diferentes. Os caracteres em um nome de arquivo que correspondem a um caractere em inchars são substituídos pelo caractere correspondente em outchars. Se a posição do caractere em inchars for maior que o comprimento de outchars, o caractere é excluído do nome do arquivo.

open host [port]

Estabelece uma conexão com o servidor FTP especificado. Um número de porta opcional pode ser fornecido, caso em que o tnftp tentará entrar em contato com um servidor FTP nessa porta. Se a opção de login automático estiver ativada (padrão), o tnftp também tentará fazer login automaticamente no servidor FTP (veja abaixo).

page file Recupera o arquivo e exibe-o com o programa especificado pela opção set pager.

passive [auto]

Alterna o modo passivo (se nenhum argumento for fornecido). Se auto for fornecido, age como se FTPMODE estivesse definido como 'auto'. Se o modo passivo for ativado (padrão), o tnftp enviará um comando PASV para todas as conexões de dados em vez de um comando PORT. O comando PASV solicita que o servidor remoto abra uma porta para a conexão de dados e retorne o endereço dessa porta. O servidor remoto ouve nessa porta e o cliente se conecta a ela. Ao usar o comando PORT mais tradicional, o cliente ouve em uma porta e envia esse endereço ao servidor remoto, que se conecta a ele. O modo passivo é útil ao usar o tnftp por meio de um roteador ou host de gateway que controla a direcionalidade do tráfego. (Observe que, embora os servidores FTP sejam obrigados a suportar o comando PASV por RFC 1123, alguns não o fazem.)

pdir [remote-path]

Executa dir [remote-path] e exibe o resultado com o programa especificado pela opção set pager.

pls [remote-path]

Executa ls [remote-path] e exibe o resultado com o programa especificado pela opção set pager.

pmlsd [remote-path]

Executa mlsd [remote-path] e exibe o resultado com o programa especificado pela opção set pager.

preserve Alterna a preservação dos horários de modificação dos arquivos recuperados.

progress Alterna a exibição da barra de progresso da transferência. A barra de progresso será desativada para uma transferência que tenha local-file como '-' ou um comando que comece com '|'. Consulte "CONVENÇÕES DE NOMENCLATURA DE ARQUIVOS" para obter mais informações. Ativar o progresso desativa o hash.

prompt      Alterna o modo interativo de solicitação. O modo interativo de solicitação ocorre durante várias transferências de arquivos para permitir que o usuário recupere ou armazene arquivos seletivamente. Se a solicitação for desativada (o padrão é ativada), qualquer comando mget ou mput transferirá todos os arquivos, e qualquer comando mdelete excluirá todos os arquivos.

Quando a solicitação está ativada, os seguintes comandos estão disponíveis em uma solicitação:

a   Responde ‘sim’ ao arquivo atual e responde automaticamente ‘sim’ a todos os arquivos restantes para o comando atual.

n   Responde ‘não’ e não transfere o arquivo.

p   Responde ‘sim’ ao arquivo atual e desativa o modo de solicitação (como se o comando prompt off tivesse sido dado).

q   Termina a operação atual.

y   Responde ‘sim’ e transfere o arquivo.

?   Exibe uma mensagem de ajuda.

Qualquer outra resposta responderá ‘sim’ ao arquivo atual.

proxy ftp-command
Executa um comando FTP em uma conexão de controle secundária. Este comando permite a conexão simultânea a dois servidores FTP remotos para transferir arquivos entre os dois servidores. O primeiro comando proxy deve ser open, para estabelecer a conexão de controle secundária. Insira o comando ‘proxy ?’ para ver outros comandos FTP executáveis na conexão secundária. Os seguintes comandos se comportam de maneira diferente quando precedidos por proxy: open não definirá novas macros durante o processo de login automático, close não apagará as definições de macro existentes, get e mget transferem arquivos do host na conexão de controle primária para o host na conexão de controle secundária, e put, mput e append transferem arquivos do host na conexão de controle secundária para o host na conexão de controle primária. Transferências de arquivos de terceiros dependem do suporte ao comando PASV do protocolo FTP pelo servidor na conexão de controle secundária.

put local-file [remote-file]
Armazena um arquivo local na máquina remota. Se remote-file não for especificado, o nome do arquivo local será usado após o processamento de acordo com quaisquer configurações ntrans ou nmap ao nomear o arquivo remoto. A transferência de arquivos usa as configurações atuais para type, format, mode e structure.

pwd         Imprime o nome do diretório de trabalho atual na máquina remota.

quit        Um sinônimo para bye.

quote [arg ...]
Os argumentos especificados são enviados, literalmente, para o servidor FTP remoto.

rate direction [maximum [increment]]
Limita a taxa máxima de transferência para maximum bytes/segundo. Se maximum for 0, desativa a limitação.

direction pode ser um dos seguintes:
all  Ambas as direções.
get  Transferências de entrada.
put  Transferências de saída.

maximum pode ser modificado dinamicamente em increment bytes (padrão: 1024) cada vez que um determinado sinal é recebido:

SIGUSR1  Incrementa maximum em increment bytes.

SIGUSR2  Decrementa o máximo em bytes de incremento. O resultado deve ser um número positivo.

Se o máximo não for fornecido, as taxas de transferência atuais serão exibidas.

Observação: a taxa ainda não foi implementada para transferências no modo ASCII.

rcvbuf size

Define o tamanho do buffer de recebimento do socket para size.

recv remote-file [local-file]
Um sinônimo para get.

reget remote-file [local-file]
reget atua como get, exceto que, se local-file existir e for menor que remote-file, local-file é presumido como uma cópia parcialmente transferida de remote-file e a transferência é continuada a partir do aparente ponto de falha. Este comando é útil ao transferir arquivos muito grandes em redes propensas a interromper conexões.

remopts command [command-options]

Define opções no servidor FTP remoto para command com command-options (a ausência das quais é tratada de forma específica para cada comando). Os comandos FTP remotos conhecidos que suportam opções incluem: MLST (usado para MLSD e MLST).

rename [from [to]]

Renomeia o arquivo from na máquina remota para o arquivo to.

reset Limpa a fila de respostas. Este comando resincroniza a sequência de comandos/respostas com o servidor FTP remoto. A resincronização pode ser necessária após uma violação do protocolo FTP pelo servidor remoto.

restart marker

Reinicia o próximo comando get ou put no marcador indicado. Em sistemas Unix, o marcador é geralmente um deslocamento de byte no arquivo.

rhelp [command-name]

Solicita ajuda do servidor FTP remoto. Se um command-name for especificado, ele será fornecido ao servidor.

rmdir directory-name

Exclui um diretório na máquina remota.

rstatus [remote-file]

Sem argumentos, exibe o status da máquina remota. Se remote-file for especificado, exibe o status de remote-file na máquina remota.

runique Alterna o armazenamento de arquivos no sistema local com nomes de arquivo exclusivos. Se um arquivo já existir com um nome igual ao nome de arquivo local de destino para um comando get ou mget, um '.1' é anexado ao nome. Se o nome resultante corresponder a outro arquivo existente, um '.2' é anexado ao nome original. Se esse processo continuar até '.99', uma mensagem de erro será impressa e a transferência não ocorrerá. O nome de arquivo exclusivo gerado será relatado. Observe que runique não afetará os arquivos locais gerados a partir de um comando de shell (veja abaixo). O valor padrão é desligado.

send local-file [remote-file]
Um sinônimo para put.

sendport Alterna o uso de comandos PORT. Por padrão, tnftp tentará usar um comando PORT ao estabelecer uma conexão para cada transferência de dados. O uso de comandos PORT pode evitar atrasos ao realizar várias transferências de arquivos. Se o comando PORT falhar, tnftp usará a porta de dados padrão. Quando o uso de comandos PORT é desabilitado, nenhuma tentativa será feita para usar comandos PORT para cada transferência de dados. Isso é útil para certas implementações de FTP que ignoram os comandos PORT, mas indicam incorretamente que foram aceitos.

set [option value]

Define o valor da opção como value. Se a opção e o valor não forem fornecidos, exibe todas as opções e seus valores. As opções atualmente suportadas são:

anonpass     O padrão é $FTPANONPASS

ftp_proxy    O padrão é $ftp_proxy.

http_proxy   O padrão é $http_proxy.

https_proxy  O padrão é $https_proxy.

no_proxy     O padrão é $no_proxy.

pager        O padrão é $PAGER.

prompt       O padrão é $FTPPROMPT.

rprompt      O padrão é $FTPRPROMPT.

sslnoverify  O padrão é $FTPSSLNOVERIFY.

site [arg ...]

Os argumentos especificados são enviados, literalmente, para o servidor FTP remoto como um comando SITE.

size remote-file

Retorna o tamanho de remote-file na máquina remota.

sndbuf size

Define o tamanho do buffer de envio do soquete como size.

status      Mostra o status atual do tnftp.

struct struct-name

Define a estrutura de transferência de arquivo para struct-name. A estrutura padrão (e a única suportada) é ‘file’.

sunique     Alterna o armazenamento de arquivos na máquina remota sob nomes de arquivo exclusivos. O servidor FTP remoto deve suportar o comando STOU do protocolo FTP para conclusão bem-sucedida. O servidor remoto relatará o nome exclusivo. O valor padrão é desativado.

system      Mostra o tipo de sistema operacional em execução na máquina remota.

tenex       Define o tipo de transferência de arquivo para o necessário para se comunicar com máquinas TENEX.

throttle    Um sinônimo para rate.

trace       Alterna o rastreamento de pacotes.

type [type-name]

Define o tipo de transferência de arquivo para type-name. Se nenhum tipo for especificado, o tipo atual será impresso. O tipo padrão é ASCII de rede.

umask [newmask]

Define a máscara padrão na máquina remota para newmask. Se newmask for omitido, a máscara atual será impressa.

unset option

Remove a opção. Consulte set para obter mais informações.

usage command

Imprime a mensagem de uso para command.

user user-name [password [account]]

Identifique-se no servidor FTP remoto. Se a senha não for especificada e o servidor a exigir, o tnftp solicitará que o usuário a forneça (após desativar o eco local). Se um campo de conta não for especificado e o servidor FTP o exigir, o usuário será solicitado a fornecê-lo. Se um campo de conta for especificado, um comando de conta será retransmitido para o servidor remoto após a conclusão da sequência de login, se o servidor remoto não o exigiu para o login. A menos que o tnftp seja invocado com “auto-login” desativado, este processo é feito automaticamente na conexão inicial com o servidor FTP.

verbose     Alterna o modo detalhado. No modo detalhado, todas as respostas do servidor FTP são exibidas para o usuário. Além disso, se verbose estiver ativado, quando uma transferência de arquivo for concluída, as estatísticas sobre a eficiência da transferência serão relatadas. Por padrão, verbose está ativado.

xferbuf size

Define o tamanho dos buffers de envio e recebimento do soquete como size.

? [command]

Um sinônimo para help.

Argumentos de comando que possuem espaços embutidos podem ser colocados entre aspas com aspas duplas ‘"’.

Comandos que alternam configurações podem receber um argumento explícito "on" ou "off" para forçar a configuração apropriadamente.

Comandos que recebem uma contagem de bytes como argumento (por exemplo, hash, rate e xferbuf) suportam um sufixo opcional no argumento que altera a interpretação do argumento. Os sufixos suportados são: b Não causa modificação. (Opcional) k Kilo; multiplica o argumento por 1024 m Mega; multiplica o argumento por 1048576 g Giga; multiplica o argumento por 1073741824

Se o tnftp receber um sinal SIGINFO (veja o argumento status de stty(1)) ou SIGQUIT enquanto uma transferência estiver em andamento, as estatísticas atuais da taxa de transferência serão gravadas na saída de erro padrão, no mesmo formato da mensagem de conclusão padrão.

BUSCA AUTOMÁTICA DE ARQUIVOS

Além dos comandos padrão, esta versão do tnftp suporta um recurso de busca automática. Para habilitar a busca automática, simplesmente passe a lista de nomes de host/arquivos na linha de comando.

Os seguintes formatos são sintaxes válidas para um elemento de busca automática:

[user@]host:[path][/]
Formato FTP "clássico".

Se path contiver um caractere curinga e a expansão curinga estiver habilitada (veja glob), então o equivalente a mget path é executado.

Se o componente de diretório de path não contiver caracteres curinga, ele é armazenado localmente com o nome basename (veja basename(1)) de path, no diretório atual. Caso contrário, o nome remoto completo é usado como o nome local, relativo ao diretório raiz local.

ftp://[user[:password]@]host[:port]/path[/][;type=type]

Uma URL FTP, recuperada usando o protocolo FTP se ftp_proxy estiver definido. Caso contrário, transfira a URL usando HTTP através do proxy definido em set ftp_proxy. Se ftp_proxy não estiver definido e user for fornecido, faça login como user. Neste caso, use password se fornecido, caso contrário, peça ao usuário.

Se um sufixo de ‘;type=A’ ou ‘;type=I’ for fornecido, então o tipo de transferência será executado como ASCII ou binário (respectivamente). O tipo de transferência padrão é binário.

A fim de estar em conformidade com RFC 3986, o tnftp interpreta a parte do caminho de uma URL de busca automática ‘ftp://’ da seguinte forma:

O ‘/’ imediatamente após o host[:port] é interpretado como um separador antes do caminho e não como parte do caminho.

O caminho é interpretado como uma lista de componentes de nome separados por ‘/’. Para todos os componentes, exceto o último, o tnftp executa o equivalente a um comando cd. Para o último componente do caminho, o tnftp executa o equivalente a um comando get.

Componentes de nome vazios, que resultam de ‘//’ dentro do caminho ou de um ‘/’ extra no início do caminho, farão com que o equivalente a um comando cd sem um nome de diretório seja executado. Isso provavelmente não será útil.

Quaisquer códigos ‘%XX’ (conforme RFC 3986) dentro dos componentes do caminho são decodificados, com XX representando um código de caractere em hexadecimal. Esta decodificação ocorre após a divisão do caminho em componentes, mas antes que cada componente seja usado no equivalente de um comando cd ou get. Alguns códigos frequentemente usados são ‘%2F’ (que representa ‘/’) e ‘%7E’ (que representa ‘~’).


A interpretação acima tem as seguintes consequências:

O caminho é interpretado em relação ao diretório de login padrão do usuário especificado ou do usuário ‘anônimo’. Se o diretório / for necessário, use um caminho inicial de ‘%2F’. Se o diretório inicial de um usuário for necessário (e o servidor remoto suportar a sintaxe), use um caminho inicial de ‘%7Euser/’. Por exemplo, para recuperar /etc/motd de ‘localhost’ como o usuário ‘myname’ com a senha ‘mypass’, use ‘ftp://myname:mypass@localhost/%2fetc/motd’

Os comandos exatos cd e get podem ser controlados por meio da escolha cuidadosa de onde usar ‘/’ e onde usar ‘%2F’ (ou ‘%2f’). Por exemplo, as seguintes URLs correspondem aos equivalentes dos comandos indicados:

ftp://host/dir1/dir2/file         cd dir1, cd dir2, get file.

ftp://host/%2Fdir1/dir2/file      cd /dir1, cd dir2, get file.

ftp://host/dir1%2Fdir2/file       cd dir1/dir2, get file.

Você deve ter as permissões de acesso apropriadas para cada um dos diretórios intermediários que são usados no equivalente de um comando cd.

http://[user[:password]@]host[:port]/path

Uma URL HTTP, recuperada usando o protocolo HTTP. Se http_proxy estiver definido, ele é usado como uma URL para um servidor proxy HTTP. Se a autenticação HTTP for necessária para recuperar path, e user (e opcionalmente password) estiver na URL, use-os para a primeira tentativa de autenticação.

https://[user[:password]@]host[:port]/path

Uma URL HTTPS, recuperada usando o protocolo HTTPS. Se https_proxy estiver definido, ele é usado como uma URL para um servidor proxy HTTPS. Se a autenticação HTTPS for necessária para recuperar path, e user (e opcionalmente password) estiver na URL, use-os para a primeira tentativa de autenticação. Atualmente, não há validação e verificação de certificado.

file:///path

Uma URL local, copiada de /path no host local.

about:topic

Exibe informações sobre o tópico; nenhum arquivo é recuperado para este elemento buscado automaticamente. Os valores suportados incluem:

about:ftp      Informações sobre tnftp.

about:version  A versão de tnftp. Útil para fornecer ao relatar problemas.

A menos que seja especificado o contrário acima e -o output não seja fornecido, o arquivo é armazenado no diretório atual como o basename(1) de path. Observe que se um redirecionamento HTTP for recebido, a busca será repetida usando a nova URL de destino fornecida pelo servidor, com uma nova path correspondente. O uso de um output explícito -o é recomendado, para evitar gravar em nomes de arquivos inesperados.

Se um formato clássico ou um formato de URL FTP tiver um ‘/’ no final ou um componente de caminho vazio, então tnftp se conectará ao site e executará o comando cd no diretório fornecido como o path, e deixará o usuário no modo interativo pronto para mais entradas. Isso não funcionará se ftp_proxy estiver sendo usado.


As transferências HTTP diretas usam HTTP 1.1. As transferências FTP e HTTP com proxy usam HTTP 1.0.

Se a opção -R for especificada, todos os downloads automáticos que não forem feitos via os proxies FTP ou HTTP serão reiniciados. Para FTP, isso é implementado usando o comando reget em vez de get. Para HTTP, isso é implementado usando a diretiva HTTP/1.1 Range: bytes=.

Se a autenticação WWW ou proxy WWW for necessária, você será solicitado a inserir um nome de usuário e senha para autenticar.

Ao especificar endereços IPv6 numéricos em uma URL, você precisa colocar o endereço entre colchetes. Por exemplo: ftp://[::1]:21/. Isso ocorre porque os dois pontos são usados em endereços IPv6 numéricos, bem como no separador para o número da porta.

INTERROMPENDO UMA TRANSFERÊNCIA DE ARQUIVO

Para interromper uma transferência de arquivo, use a tecla de interrupção do terminal (geralmente Ctrl-C). As transferências de envio serão interrompidas imediatamente. As transferências de recebimento serão interrompidas enviando um comando FTP ABOR para o servidor remoto e descartando quaisquer dados adicionais recebidos. A velocidade com que isso é realizado depende do suporte do servidor remoto para o processamento do comando ABOR. Se o servidor remoto não suportar o comando ABOR, o prompt não aparecerá até que o servidor remoto tenha concluído o envio do arquivo solicitado.

Se a sequência de tecla de interrupção do terminal for usada enquanto o tnftp aguarda uma resposta do servidor remoto para o processamento do comando ABOR, a conexão será fechada. Isso é diferente do comportamento tradicional (que ignora a tecla de interrupção do terminal durante esta fase), mas é considerado mais útil.

CONVENÇÕES DE NOMEAÇÃO DE ARQUIVOS

Os arquivos especificados como argumentos para os comandos tnftp são processados de acordo com as seguintes regras.

Se o nome de arquivo `-` for especificado, `stdin` (para leitura) ou `stdout` (para gravação) será usado.

Se o primeiro caractere do nome do arquivo for `|`, o restante do argumento é interpretado como um comando de shell. O `tnftp` então cria um shell, usando `popen(3)` com o argumento fornecido, e lê (grava) a partir do `stdout` (stdin). Se o comando do shell incluir espaços, o argumento deve ser colocado entre aspas; por exemplo: `| ls -lt`. Um exemplo particularmente útil deste mecanismo é: `dir "" | more`.

Falhando as verificações acima, se a expansão de glob for habilitada, os nomes de arquivos locais serão expandidos de acordo com as regras usadas no `csh(1)`; veja o comando `glob`. Se o comando `tnftp` esperar um único arquivo local (por exemplo, `put`), apenas o primeiro nome de arquivo gerado pela operação de expansão de glob será usado.

Para os comandos `mget` e comandos `get` com nomes de arquivos locais não especificados, o nome do arquivo local é o nome do arquivo remoto, que pode ser alterado por uma configuração `case`, `ntrans` ou `nmap`. O nome do arquivo resultante pode então ser alterado se `runique` estiver ativado.

Para os comandos `mput` e comandos `put` com nomes de arquivos remotos não especificados, o nome do arquivo remoto é o nome do arquivo local, que pode ser alterado por uma configuração `ntrans` ou `nmap`. O nome do arquivo resultante pode então ser alterado pelo servidor remoto se `sunique` estiver ativado.

PARÂMETROS DE TRANSFERÊNCIA DE ARQUIVOS

A especificação FTP especifica muitos parâmetros que podem afetar uma transferência de arquivo. O tipo pode ser um dos seguintes: “ascii”, “image” (binário), “ebcdic” e “local byte size” (principalmente para PDP-10 e PDP-20). O tnftp suporta os tipos de transferência de arquivos “ascii” e “image”, além do tamanho de byte local 8 para transferências no modo Tenex.

O tnftp suporta apenas os valores padrão para os parâmetros restantes de transferência de arquivo: mode, form e struct.

O ARQUIVO .netrc

O arquivo .netrc contém informações de login e inicialização usadas pelo processo de login automático. Ele reside no diretório pessoal do usuário, a menos que seja substituído com a opção -N netrc ou especificado na variável de ambiente NETRC. Os seguintes tokens são reconhecidos; eles podem ser separados por espaços, tabulações ou novas linhas:

machine name

Identifica um nome de máquina remota. O processo de login automático pesquisa o arquivo .netrc em busca de um token de máquina que corresponda à máquina remota especificada na linha de comando tnftp ou como um argumento de comando open. Quando uma correspondência é encontrada, os tokens .netrc subsequentes são processados, parando quando o final do arquivo é alcançado ou outro token de máquina ou um token padrão é encontrado.

default

Este é o mesmo que o nome da máquina, exceto que default corresponde a qualquer nome. Só pode haver um token default, e ele deve estar após todos os tokens de máquina. Normalmente, é usado da seguinte forma:

default login anonymous password user@site

Isso fornece ao usuário um login FTP automático e anônimo para máquinas não especificadas em .netrc. Isso pode ser substituído usando a flag -n para desativar o login automático.

login name

Identifica um usuário na máquina remota. Se este token estiver presente, o processo de login automático iniciará um login usando o nome especificado.

password string

Fornece uma senha. Se este token estiver presente, o processo de login automático fornecerá a string especificada se o servidor remoto exigir uma senha como parte do processo de login. Observe que se este token estiver presente no arquivo .netrc para qualquer usuário que não seja anônimo, o tnftp abortará o processo de login automático se o .netrc for legível por qualquer pessoa que não seja o usuário.

account string

Fornece uma senha de conta adicional. Se este token estiver presente, o processo de login automático fornecerá a string especificada se o servidor remoto exigir uma senha de conta adicional, ou o processo de login automático iniciará um comando ACCT se não o fizer.

macdef name

Define uma macro. Este token funciona como o comando macdef do tnftp. Uma macro é definida com o nome especificado; seu conteúdo começa com a próxima linha .netrc e continua até que uma linha em branco (caracteres de nova linha consecutivos) seja encontrada. Como os outros tokens no arquivo .netrc, uma macdef é aplicável apenas à definição de máquina precedente. Uma entrada macdef não pode ser usada por várias definições de máquina; em vez disso, ela deve ser definida após cada máquina com a qual pretende ser usada. Se uma macro chamada init for definida, ela será executada automaticamente como a última etapa do processo de login automático. Por exemplo:


default
macdef init
epsv4 off

seguido por uma linha em branco.

EDIÇÃO NA LINHA DE COMANDO

tnftp suporta edição interativa na linha de comando, por meio da biblioteca editline(3). É habilitado com o comando edit e é habilitado por padrão se a entrada for de um tty. As linhas anteriores podem ser recuperadas e editadas com as teclas de seta, e outras teclas de edição no estilo GNU Emacs também podem ser usadas.

A biblioteca editline(3) é configurada com um arquivo .editrc — consulte editrc(5) para obter mais informações.

Um atalho de tecla extra está disponível para tnftp para fornecer conclusão contextual de comandos e nomes de arquivos (incluindo conclusão de arquivos remotos). Para usar isso, vincule uma tecla ao comando editline(3) ftp-complete. Por padrão, isso está vinculado à tecla TAB.

PROMPT DA LINHA DE COMANDO

Por padrão, tnftp exibe um prompt de linha de comando de ‘ftp>’ para o usuário. Isso pode ser alterado com o comando set prompt.

Um prompt pode ser exibido no lado direito da tela (após a entrada do comando) com o comando set rprompt.

As seguintes sequências de formatação são substituídas pelas informações fornecidas:

%/   O diretório de trabalho remoto atual.

%c[[0]n], %.[[0]n]

O componente final do diretório de trabalho remoto atual, ou n componentes finais se um dígito n for fornecido. Se n começar com ‘0’, o número de componentes ignorados precede o(s) componente(s) final(is) no formato “/final” (para ‘%c’) ou “...final” (para ‘%.’).

%M   O nome do host remoto.

%m   O nome do host remoto, até o primeiro ponto ‘.’.

%n   O nome de usuário remoto.

%%   Um único caractere de porcentagem ‘%’.

AMBIENTE

tnftp usa as seguintes variáveis de ambiente.

FTPANONPASS   Senha a ser enviada em uma transferência FTP anônima. O padrão é “`whoami`@”.

FTPMODE   Substitui o modo de operação padrão. Os valores suportados são:

active   FTP no modo ativo apenas

auto   determinação automática de passivo ou ativo (este é o padrão)

gate   modo gate-ftp

passive   FTP no modo passivo apenas

FTPPROMPT   Prompt da linha de comando a ser usado. O padrão é ‘ftp>’. Consulte “PROMPT DA LINHA DE COMANDO” para obter mais informações.

FTPRPROMPT   Prompt do lado direito da linha de comando a ser usado. O padrão é uma string vazia. Consulte “PROMPT DA LINHA DE COMANDO” para obter mais informações.

FTPSERVER   Host a ser usado como servidor gate-ftp quando o gate estiver habilitado.

FTPSERVERPORT Porta a ser usada ao se conectar ao servidor gate-ftp quando o gate estiver habilitado. O padrão é a porta retornada por uma pesquisa getservbyname(3) de “ftpgate/tcp”.

FTPUSERAGENT   O valor a ser enviado para o cabeçalho HTTP User-Agent.

FTPSSLNOVERIFY

Defina como 1 para não verificar os certificados SSL.

HOME   Para o local padrão de um arquivo .netrc, se existir.

NETRC          Um local alternativo para o arquivo .netrc.

PAGER          Usado por vários comandos para exibir arquivos. Por padrão, é `more(1)` se estiver vazio ou não definido.

SHELL          Para o shell padrão.

ftp_proxy      URL do proxy FTP a ser usado ao fazer solicitações de URL FTP (se não definido, use o protocolo FTP padrão).

Consulte `http_proxy` para obter mais informações sobre o uso de proxy.

http_proxy     URL do proxy HTTP a ser usado ao fazer solicitações de URL HTTP. Se a autenticação de proxy for necessária e houver um nome de usuário e senha nesta URL, eles serão usados automaticamente na primeira tentativa de autenticação no proxy.

Se caracteres de URL "inseguros" forem necessários no nome de usuário ou senha (por exemplo, '@' ou '/'), codifique-os com a codificação RFC 3986 '%XX'.

Observe que o uso de um nome de usuário e senha em `ftp_proxy` e `http_proxy` pode ser incompatível com outros programas que o utilizam (como `lynx(1)`).

NOTA: isso não é usado para sessões interativas, apenas para comandos na linha de comando.

https_proxy    URL do proxy HTTPS a ser usado ao fazer solicitações de URL HTTPS.

Consulte `http_proxy` para obter mais informações sobre o uso de proxy.

no_proxy       Uma lista separada por espaços ou vírgulas de hosts (ou domínios) para os quais o proxy não deve ser usado. Cada entrada pode ter um sufixo opcional ':port', que restringe a correspondência às conexões para essa porta.

MODO PASSIVO EXTENDIDO E FIREWALLS

Algumas configurações de firewall não permitem que o tnftp use o modo passivo estendido. Se você perceber que até mesmo um simples ls parece travar após imprimir uma mensagem como esta:

229Entering Extended Passive Mode (|||58551|)

então você precisará desabilitar o modo passivo estendido com `epsv4 off`. Consulte a seção acima "O Arquivo .netrc" para um exemplo de como tornar isso automático.

VEJA TAMBÉM

`getservbyname(3)`, `editrc(5)`, `services(5)`, `ftpd(8)`

PADRÕES

O `tnftp` tenta estar em conformidade com:

RFC 959   Protocolo de Transferência de Arquivos

RFC 1123  Requisitos para Hosts da Internet - Aplicação e Suporte

RFC 1635  Como Usar FTP Anônimo

RFC 2389  Mecanismo de negociação de recursos para o Protocolo de Transferência de Arquivos

RFC 2428  Extensões FTP para IPv6 e NATs

RFC 2616  Protocolo de Transferência de Hipertexto - HTTP/1.1

RFC 2822  Formato de Mensagem da Internet

RFC 3659  Extensões para FTP

RFC 3986  Identificador de Recursos Uniforme (URI)

HISTÓRICO

O comando tnftp apareceu no 4.2BSD.

Vários recursos, como edição de linha de comando, conclusão de comandos e arquivos sensível ao contexto, barra de progresso dinâmica, busca automática de arquivos e URLs, preservação do tempo de modificação, limitação da taxa de transferência, prompt de linha de comando configurável e outros aprimoramentos em relação ao tnftp BSD padrão foram implementados no NetBSD 1.3 e versões posteriores por Luke Mewburn ⟨_\⟩.

O suporte a IPv6 foi adicionado pelo projeto WIDE/KAME (mas pode não estar presente em todas as versões não-NetBSD deste programa, dependendo se o sistema operacional suporta IPv6 de maneira semelhante ao KAME).

BUGS

A execução correta de muitos comandos depende do comportamento adequado do servidor remoto.

Um erro no tratamento de retornos de carro no código de transferência no modo ASCII do 4.2BSD foi corrigido. Esta correção pode resultar em transferências incorretas de arquivos binários para e de servidores 4.2BSD usando o tipo ASCII. Evite este problema usando o tipo de imagem binária.

tnftp assume que todos os endereços IPv4 mapeados (endereços IPv6 com um formato como ::ffff:10.1.1.1) indicam destinos IPv4 que podem ser tratados por sockets AF_INET. No entanto, em certas configurações de rede IPv6, esta suposição não é verdadeira. Em tal ambiente, os endereços IPv4 mapeados devem ser passados diretamente para sockets AF_INET6. Por exemplo, se o seu site usa um tradutor SIIT para tradução IPv6 para IPv4, tnftp não pode suportar sua configuração.