Você está na página 1de 7

COMO UTILIZAR UM FTP

Por: Flavio Torres - ftorres[@]ymail.com


Publicado em: 07/10/200
!rti"o dis#o$ibili%ado #ara os alu$os do curso de com#uta&'o( )*+F+,-.
Como usar o FTP
FTP um comando utilizado para transferir arquivos de uma mquina para outra, sejam estas remotas
ou no. A mquina na qual o comando executado chamada mquina local, e a mquina para onde
ou de onde, se deseja transferir arquivos chamada mquina remota. nome da mquina remota
pode ser especificado de duas maneiras!
1. diretamente pela linha de comando di"itando#se $ftp nome#mquina#remota$.
%xemplo!
#rom#t. ft# s#fec02.fec.u$icam#.br ou
#rom#t. ft# obeli/.u$icam#.br
2. pela linha de comando do interpretador ftp, utilizando o comando open, tendo como ar"umento o
nome da mquina remota. Para entrar no interpretador de comandos do ftp &asta di"itar $ftp$ na linha
de comando. prompt do interpretador ento ir aparecer 'ftp>(.
%xemplo!
#rom#t. ft#
ft#. o#e$ s#fec02.fec.u$icam#.br
A partir do momento que a mquina remota foi especificada, o ftp tentar esta&elecer um conexo
com ela, verificando se tal mquina com tal nome existe e se est acess)vel. *aso seja &em sucedido,
o ftp requisitar o lo"in e a senha do usurio para mquina remota.
%xemplo!
prompt+, ftp spfec-..fec.unicamp.&r
*onnected to spfec-..fec.unicamp.&r
..- spfec-. FTP server '/012'r( 34stem 5 6elease 7.-( read4.
0ame 'spfec-..fec.unicamp.&r!(! fulano
889 Pass:ord required for fulano.
Pass:ord!
.8- /ser fulano lo""ed in.
ftp,
*aso a a;o de lo"in seja &em sucedida, pode#se ento iniciar a transfer<ncia de arquivos entre a
mquina local e a mquina remota, utilizando#se os comandos put/mput 'local #, remota( e os
comandos get/mget 'remota , local(. =as antes disso, &om certificar#se so&re os diret>rios de
tra&alho local e remoto 'lcd/cd/pwd(, so&re o tipo de representa;o na transfer<ncia dos arquivos
'ascii/bin( e quais os nomes dos arquivos que sero transferidos 'ls/dir(.
3e a a;o de lo"in no for &em sucedida 'como no caso de erros de di"ita;o ou devido ao usurio
especificado no ter acesso a mquina remota(, pode#se ento repetir o a;o de lo"in 'comando
user(, '? mquina outra com conexo tentar ou,disconnect e open(, ou ainda sair do ftp
'quit/bye(.
Comando lcd
diret>rio de tra&alho local 'da mquina local( default ser o mesmo de onde o comando ftp for
executado. Para mudar o diret>rio local utilize o comando lcd com o nome do diret>rio para o qual se
deseja mudar.
%xemplo! 3upondo que o diret>rio default seja @home@fulano '/nix( ou c!+usr+fulano 'A3( e deseja#
se mudar para o su&diret>rio docs.
ftp, lcd @home@fulano@docs '/nix(
ou
ftp, lcd c!+usr+fulano+docs 'A3(
Comando cd/pwd
diret>rio de tra&alho remoto inicialmente ser o diret>rio home do usurio. Para mud#lo &asta usar
o comando cd 'chan"e director4(, passando o nome do novo diret>rio como ar"umento. comando
p:d mostra qual o diret>rio de tra&alho remoto corrente.
Comando ascii/binary
s comandos ascii e binary 'ou bin( modificam o tipo de representa;o dos dados que sero
transferidos. default o tipo A3*11. Porm recomenda#se utilizar o tipo &inrio para asse"urar o
envio correto dos dados contidos nos arquivos. Para isso, &asta di"itar bin ou &inar4 na linha de
comando do interpretador. Para retornar ao tipo A3*11, &asta di"itar ascii.
Comando ls/dir
s comandos ls e dir listam o conteBdo de um determinado diret>rio remoto. 3e nenhum diret>rio
remoto for especificado, ento o atual ser listado. A diferen;a entre esses dois comandos que ls
imprime um lista"em parcial do conteBdo do diret>rio.
Comando get/mget
comando get recupera um arquivo da mquina remota e armazena#o na mquina local. %ste
comando transfere somente um arquivo por vez. C com mget, pode#se transferir vrios arquivos de
uma vez. *omo especificar ento, os vrios arquivos que se deseja transferir pelo mgetD Pode#se
faz<#lo, por exemplo!
todos os arquivos, um ap>s o outro, separados por espa;o
arquivos com a mesma extenso 'ex.! E.doc, E.txt(
arquivos com a mesma cadeia inicial no nome 'ex.! capE.txt, tra&E.doc(
Aqui esto al"uns exemplos!
ftp, "et teste.txt
ftp, m"et teste9.txt tra&alho.doc Felcome.html
ftp, m"et testeE.E
ftp, m"et E.doc
Ao ser executado, o comando mget questiona cada um dos arquivos especificados se devem ser
transferidos ou no. 1sso ocorre pois o ftp est setado, por default, a operar em modo interativo. Para
desa&ilitar o modo interativo, &asta di"itar $prompt$. comando prompt funciona como uma chave
'switch(, assim, quando acionado ou executado novamente ele ir ha&ilitar o modo interativo.
%xemplo!
ftp, prompt
1nteractive mode off.
ftp, prompt
1nteractive mode on.
ftp,
Comando put/mput
%stes comandos fazem o inverso dos comandos "et@m"et, ou seja, armazenam arquivos locais na
mquina remota. Assim como "et, put transmite somente um arquivo por vez, e mput pode transmitir
vrios arquivos por vez 'como m"et(. A especifica;ao dos arquivos feita de forma semelhante a
"et@m"et.
Comando disconnect/open
comando disconnect faz com que a conexo com a mquina remota seja que&rada, caso haja uma
conexo. comando open a&re uma conexo com uma mquina remota, desde que no haja
nenhuma conexo com outra mquina remota. *aso haja conexo, deve#se interromp<#la para usar o
comando open.
Comando quit/bye
comando disconnect, apesar de interromper a conexo com uma mquina remota, no faz o ftp
sair de seu interpretador de comandos. Para sair do ftp di"ite bye ou quit.
Outros Comandos
G outros comandos que o intepretador ftp aceita. *om eles pode#se, por exemplo, criar diret>rios,
renomear arquivos e apa"ar arquivos. Para ver quais so os comandos que o interpretador aceita,
&asta di"itar ?. utro comando Btil help, que descreve &revemente o comando passado como
ar"umento.
%xemplo!
ftp> ?
Commands may be abbreviated. Commands are:
! cr macdef proxy send
$ delete mdelete sendport status
account debug mdir put struct
append dir mget pwd sunique
ascii disconnect mkdir quit tenex
bell form mls quote trace
binary get mode recv type
bye glob mput remoteelp user
case as nmap rename verbose
cd elp ntrans reset ?
cdup lcd open rmdir
close ls prompt runique
ftp> elp put
put send one file
ftp>
Exemplos de utiliza!o do "tp
get e mget
c:!usr!fulano!> ftp spfec02.fec.unicamp.br
Connected to spfec"#.fec.unicamp.br.
##" spfec"# $%& server '()*+'r, -ystem . /elease 0.", ready.
)ame 'spfec"#.fec.unicamp.br:1none>,: fulano
223 &assword required for fulano.
&assword:
#2" (ser fulano logged in.
ftp> ls
#"" &4/% command successful.
35" 6-C** data connection for 7bin7ls '302.3"8.0.3##9250#", '" bytes,.
teste3.txt
teste#.ex#
teste2.ex2
teste0.ex0
trabalo.doc
##8 6-C** %ransfer complete.
8# bytes received in ".":; seconds '".:: <bytes7s,
ftp> pwd
#5: =7ome7fulano= is current directory.
ftp> lcd
>ocal directory now c:!usr!fulano
ftp> bin
#"" %ype set to *.
ftp> get trabalho.doc
#"" &4/% command successful.
35" ?inary data connection for trabalo.doc '302.3"8.0.3##9250#3, ': bytes,.
##8 ?inary %ransfer complete.
local: trabalo.doc remote: trabalo.doc
: bytes received in "."#0 seconds '".#; <bytes7s,
ftp> mget teste*.*
mget teste3.txt? y
#"" &4/% command successful.
35" ?inary data connection for teste3.txt '302.3"8.0.3##9250#2, ': bytes,.
##8 ?inary %ransfer complete.
local: teste3.txt remote: teste3.txt
: bytes received in "."35 seconds '".05 <bytes7s,
mget teste#.ex#? y
#"" &4/% command successful.
35" ?inary data connection for teste#.ex# '302.3"8.0.3##9250#0, ': bytes,.
##8 ?inary %ransfer complete.
local: teste#.ex# remote: teste#.ex#
: bytes received in "."#8 seconds '".#8 <bytes7s,
mget teste2.ex2? y
#"" &4/% command successful.
35" ?inary data connection for teste2.ex2 '302.3"8.0.3##9250#5, ': bytes,.
##8 ?inary %ransfer complete.
local: teste2.ex2 remote: teste2.ex2
: bytes received in "."35 seconds '".05 <bytes7s,
mget teste0.ex0? n
ftp> disconnect
##3 @oodbye.
ftp> open obelix.unicamp.br
Connected to obelix.unicamp.br.
##" obelix $%& server '()*+'r, -ystem . /elease 0.", ready.
)ame 'obelix.unicamp.br:1none>,: fulano
52" (ser fulano access denied.
>ogin failed.
ftp> disconnect
##3 @oodbye.
ftp> open spfec02
Connected to spfec"#.fec.unicamp.br.
##" spfec"# $%& server '()*+'r, -ystem . /elease 0.", ready.
)ame 'spfec"#:fulano,:
223 &assword required for fulano
&assword:
52" >ogin incorrect.
>ogin failed.
ftp> user fulano
223 &assword required for fulano.
&assword:
#2" (ser fulano logged in.
ftp> ls
#"" &4/% command successful.
35" 6-C** data connection for 7bin7ls '302.3"8.0.3##9250#", '" bytes,.
teste3.txt
teste#.ex#
teste2.ex2
teste0.ex0
trabalo.doc
##8 6-C** %ransfer complete.
8# bytes received in ".":; seconds '".:: <bytes7s,
ftp> quit
##3 @oodbye.
c:!usr!fulano!> dir
4 volume na unidade C nAo tem nome.
4 nBmero de srie do volume "0C;D?:8;
&asta de C:!usr!fulano
3#73"7;: 3::#3 1C*/> .
3#73"7;: 3::#3 1C*/> ..
3873"7;: 3;:"8 #.580 teste3.txt
3873"7;: 3;:"8 #.;0: teste#.ex#
3873"7;: 3;:"8 5.8:; teste2.ex2
3873"7;: 3;:"8 #8.;3# trabalo.doc
5 arquivo's, 2E.3"# bytes
333."2#.000 bytes disponFveis
c:!usr!fulano!>
put e mput
c:!usr!beltrano!> dir
4 volume na unidade C nAo tem nome.
4 nBmero de srie do volume "0C;D?:8;
&asta de C:!usr!beltrano
3#73"7;: 3::#3 1C*/> .
3#73"7;: 3::#3 1C*/> ..
3873"7;: 3;:"8 #.580 *mage20.gif
3:73"7;: 32:#; #.;0: *mage25.gif
3#73"7;: "0:"; 5.8:; welcome.tm
#573"7;: 3":"; #8.;3# ec2"2.doc
"87337;: 3":#" #5."EE ec3;2.doc
5 arquivo's, 82.3;" bytes
#:".E0".2#" bytes disponFveis
c:!usr!beltrano!> ftp
ftp> open spfec02
Connected to spfec"#.fec.unicamp.br.
##" spfec"# $%& server '()*+'r, -ystem . /elease 0.", ready.
)ame 'spfec"#:1none>,: beltrano
223 &assword required for beltrano
&assword:
#2" (ser beltrano logged in.
ftp> dir
#"" &4/% command successful.
35" 6-C** data connection for 7bin7ls '302.3"8.0.3##92500:, '" bytes,.
total E"#
DrwDrDDrDD 3 beltrano grad 3;0# )ov 8 3":"8 Gelcome.tml
DrwDrDDrDD 3 beltrano grad :"8" 4ct 30 35:3: autodesk.gif
DrwDrDDrDD 3 beltrano grad 25253 4ct 30 35:3: engine.gif
drwxrDxrDx # beltrano grad 53# 4ct #2 #3:0# docs
DrwDrDDrDD 3 beltrano grad 85 4ct 3: 38:05 minalina.gif
DrwDrDDrDD 3 beltrano grad 5:283 4ct 30 35:3: tbHcarg.gif
DrwDrDDrDD 3 beltrano grad 30"8 4ct # 3":#0 unicamp.gif
##8 6-C** %ransfer complete.
3200 bytes received in ".#: seconds '0.E <bytes7s,
ftp> pwd
>ocal directory now 7ome7beltrano
ftp> cd docs
>ocal directory now 7ome7beltrano7docs
ftp> ls
#"" &4/% command successful.
35" 6-C** data connection for 7bin7ls '302.3"8.0.3##92500;, '" bytes,.
acomod3.doc
acomod#.doc
acomod2.doc
##8 6-C** %ransfer complete.
3#8 bytes received in "."58 seconds '#.# <bytes7s,
ftp> bin
#"" %ype set to *.
ftp> prompt
*nteractive mode off.
ftp> put welcome.htm
#"" &4/% command successful.
35" ?inary data connection for Gelcome.tm '302.3"8.0.3##925022,.
##8 %ransfer complete.
local: welcome.tm remote: welcome.tm
: bytes sent in "."""0: seconds '35 <bytes7s,
ftp> mput ec*.doc
#"" &4/% command successful.
35" ?inary data connection for ec3;2.doc '302.3"8.0.3##925020,.
##8 %ransfer complete.
local: ec3;2.doc remote: ec3;2.doc
: bytes sent in "."""2E seconds '3E <bytes7s,
#"" &4/% command successful.
35" ?inary data connection for ec2"2.doc '302.3"8.0.3##925025,.
##8 %ransfer complete.
local: ec2"2.doc remote: ec2"2.doc
: bytes sent in "."""20 seconds '#" <bytes7s,
ftp> ls
#"" &4/% command successful.
35" 6-C** data connection for 7bin7ls '302.3"8.0.3##925028, '" bytes,.
acomod3.doc
acomod#.doc
acomod2.doc
ec3;2.doc
ec2"2.doc
welcome.tm
##8 6-C** %ransfer complete.
25 bytes received in "."32 seconds '#.8 <bytes7s,
ftp> bye
##3 @oodbye.
c:!usr!beltrano!>
=aiores informa;Hes podem ser encontradas pelo comando man do /nix 'man ftp(.
#E$%&O'
%m linhas "erais, para quem deseja um resumo dos comandos e fun;Hes so imprimir a&aixo!
COMANDO ARGUMENTO FUNO
bi$
!ltera o modo de tra$sfer0$cia #ara bi$1rio 2usado
#ara tra$sfer0$cia de eleme$tos "r1ficos( ar3uivos 4+P
etc.5
c6dir
[ $ome do
diret7rio ]
!ltera $osso diret7rio
cd
[ $ome do diret7rio
remoto ]
8uda o diret7rio de trabal6o $a m13ui$a remota.
cdu#
[ $ome do diret7rio
remoto ]
8uda o diret7rio de trabal6o #ara o diret7rio 9#ai9
2su#erior5 do diret7rio atual.
dir
:ista o co$te;do do diret7rio da m13ui$a remota(
coloca$do o resultado $a m13ui$a local.
<e $e$6um diret7rio remoto for es#ecificado( o
diret7rio de trabal6o atual $a m13ui$a remota ser1
utili%ado.
<e $e$6um ar3uivo $a m13ui$a local for es#ecificado
#ara receber a lista do diret7rio remoto( o resultado =
e$viado #ara o termi$al.
>dir
[ dir?local ]
[ ar3?local ]
,m al"u$s sistemas ft#( este coma$do lista o co$te;do
de um diret7rio da m13ui$a local.
disco$$ect
- coma$do disconnect fa% com 3ue a co$e/'o com a
m13ui$a remota se@a 3uebrada( caso 6a@a uma co$e/'o.
"et [ $ome?ar3 ]
Tra$sfere ar3uivos do servidor remoto de FTP #ara sua
u$idade de disco local.
<e um $ome de ar3uivo?local $'o for es#ecificado( =
dado o mesmo $ome do ar3uivo $a m13ui$a remota.
lcd [ diret7rio ]
8uda o diret7rio de trabal6o $a m13ui$a local.
<e $e$6um diret7rio for es#ecificado( o diret7rio
96ome9 do usu1rio = utili%ado.
ls [ dir?remoto ]
[ ar3?local ]
A1 uma lista"em do co$te;do de um diret7rio da
m13ui$a remota. <e $'o for es#ecificado um diret7rio
remoto( = mostrada a lista"em do diret7rio de trabal6o
usado.
<e $e$6um ar3uivo local for es#ecificado( a lista"em =
mostrada $a tela.
m"et [ $ome?ar3 ]
Tra$sfere v1rios ar3uivos 2usa$do curi$"as5 do
servidor remoto de FTP #ara sua u$idade de disco local
mBdir
[ $ome do
diretorio]
Cria um diret7rio
m#ut [ $ome?ar3 ]
Tra$sfere v1rios ar3uivos 2usa$do curi$"as5 da sua
u$idade de disco local #ara o 6ost remoto de FTP
o#e$
- coma$do open abre uma co$e/'o com uma m13ui$a
remota( desde 3ue $'o 6a@a $e$6uma co$e/'o com
outra m13ui$a remota. Caso 6a@a co$e/'o( deve-se
i$terrom#0-la #ara usar o coma$do open.
#ut [ $ome?ar3 ]
Tra$sfere ar3uivos de sua u$idade de disco local #ara o
servidor remoto de FTP
#rom#t
!tiva e desativa avisos de co$firma&'o dura$te o uso
dos coma$dos m#ut e m"et
#Dd
,/ibe o co$te;do atual do servidor do Ea6oo>
FeoCities
3uit/bye
- coma$do disconnect( a#esar de i$terrom#er a
co$e/'o com uma m13ui$a remota( $'o fa% o ft# sair
de seu i$ter#retador de coma$dos. Para sair do ft#
di"ite bye ou qit.
rmdir
[ $ome do
diret7rio ]
Gemove um diret7rio
H :ista v1rios coma$dos
H [coma$do] :ista uma a@uda sim#les #ara esse Icoma$do.