Commandos de FTP

Estoy copiando de un servidor a otro , entrando atraves de SSH e iniciando una sesion FTP para descargar mis archivos al nuevo hosting.

Estos son los comandos de FTP.

mget para descargar varios archivos a la vez.

La solución para transferir de un servidor a otro es : entro via SSH a mi servidor de destino , inicio una sesión FTP y entro a mi otro servidor ahi descargo todos los archivos de un directorio completo con el comando mget , y quitando el molesto Si , No ? con el comando prompt

More About get and put
In the examples in Step 4, we used the FTP put command to copy files from your local machine to the remote machine. To go the other way — to copy a file from the remote machine to your local machine — use the FTP get command; enter: get remotefile localfile where remotefile and localfile are, respectively, the name the file has on the remote machine and the name the file will have on the local machine.

If you’re transferring multiple files, you might prefer to use mget and mput. For example, you could use: mput *.htm to initiate the transfer to the remote host of all local files with any name (”*”) the .htm extension. FTP will build the name for the transferred file on the destination machine from the file’s original name. (Since you want to change the case in the names of the transferred files, mput isn’t much good here.)

Many implementations of FTP (but unfortunately not the one on UICVM CMS) have a command that instructs mget and mput to allow you to say (usually by responding y or n to a prompt) whether you want to transfer each individual matching file, and perhaps to select the name for the transferred copy. Sometimes this command is prompt or toggle prompt
Look for it in the manual or online help for your FTP.

FTP

File Transfer Protocol

Syntax
FTP [-options] [-s:filename] [-w:buffer] [host]

key
-s:filename   Run a text file containing FTP commands.

host          Host name or IP address of the remote host.

-g            Disable filename wildcards.

-n            No auto-login.

-i            No interactive prompts during ftp.

-v            Hide remote server responses.

-w:buffer     Set buffer size to buffer
(default=4096)

-d            Debug

-a            Use any local interface when binding data connection.

Commands to run at the FTP: prompt

append local-file [remote-file]
Append a local file to a file on the remote computer.

ascii        Set the file transfer type to ASCII, the default.
In ASCII text mode, character-set and end-of-line
characters are converted as necessary.

bell         Toggle a bell to ring after each command.
By default, the bell is off.

binary       Set the file transfer type to binary.
Use `Binary' for transferring executable program
files or binary data files e.g. Oracle

bye          End the FTP session and exit ftp

cd           Change the working directory on the remote host.

close        End the FTP session and return to the cmd prompt.

debug        Toggle debugging. When debug is on, FTP will display
every command.

delete remote-file
Delete file on remote host.

dir [remote-directory] [local-file]
List a remote directory's files and subdirectories.
(or save the listing to local-file)

disconnect   Disconnect from the remote host, retaining the ftp prompt.

get remote-file [local-file]
Copy a remote file to the local PC.

glob         Toggle the use of wildcard characters in local pathnames.
By default, globbing is on.

hash         Toggle printing a hash (#) for each 2K data block transferred.
By default, hash mark printing is off.

help [command]
Display help for ftp command.

lcd [directory]
Change the working directory on the local PC.
By default, the working directory is the directory in which ftp was started.

literal argument [ ...]
Send arguments, as-is, to the remote FTP host.

ls [remote-directory] [local-file]
List a remote directory's files and folders.
(short format)

mdelete remote-files [ ...]
Delete files on remote host.

mdir remote-files [ ...] local-file
Display a list of a remote directory's files and subdirectories.
(or save the listing to local-file)
Mdir allows you to specify multiple files.

mget remote-files [ ...]
Copy multiple remote files to the local PC.

mkdir directory
Create a directory on the remote host.

mls remote-files [ ...] local-file
List a remote directory's files and folders.
(short format)

mput local-files [ ...]
Copy multiple local files to the remote host.

open computer [port]
Connects to the specified FTP server.

prompt       Toggle prompting. Ftp prompts during multiple file transfers to
allow you to selectively retrieve or store files;
mget and mput transfer all files if prompting is turned off.
By default, prompting is on.

put local-file [remote-file]
Copy a local file to the remote host.

pwd          Print Working Directory
(current directory on the remote host)

quit         End the FTP session with the remote host and exit ftp.

quote argument [ ...]
Send arguments, as-is, to the remote FTP host.

recv remote-file [local-file]
Copy a remote file to the local PC.

remotehelp [command]
Display help for remote commands.

rename filename newfilename
Rename remote files.

rmdir directory
Delete a remote directory.

send local-file [remote-file]
Copy a local file to the remote host.

status       Display the current status of FTP connections and toggles.

trace        Toggles packet tracing; trace displays the route of each packet

type [type-name]
Set or display the file transfer type:
`binary' or `ASCII' (the default)

If type-name is not specified, the current type is displayed.
ASCII should be used when transferring text files.

In ASCII text mode, character-set and end-of-line
characters are converted as necessary.

Use `Binary' for transferring executable files.

user user-name [password] [account]
Specifes a user to the remote host.

verbose      Toggle verbose mode. By default, verbose is on.

! command    Run command on the local PC.

? [command]  Display help for ftp command.

An example FTP Script to retrieve files in binary and ascii mode
::GetFiles.ftp

[User_id]
[ftp_password]
binary
get /usr/file1.exe
get file2.html
mget *.jpeg
ascii
mget *.txt
quit

To run the above script:
FTP -s:GetFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password

An FTP Script to publish files in binary mode
::PutFiles.ftp

[User_id]
[ftp_password]
binary
mput *.html
cd images
mput *.gif
quit

To run the above script:
FTP -s:PutFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password

This can be further automated by constructing the FTP file using a series of ECHO commands. Also you may want to put the main FTP command inside a batch script, which also CD’s to the correct local folder before transferring any files.

Don’t forget to delete/protect the script file if it contains a valid password.

“Happy is harder than money. Anyone who thinks money will make them happy, doesn’t have money - David Geffen

Related commands:

COPY - Copy one or more files to another location
XCOPY - Copy files and folders
REM - Add a comment (includes commenting FTP scripts)

Equivalent Linux BASH commands:

File Transfer Protocol

FTP (Protocolo de Transferencia de Ficheros)



¿Qué es el FTP?

FTP significa ‘File Transfer Protocol’, o Protocolo de Transferencia de Ficheros.El FTP es la herramienta que te permite, a traves de la red, copiar ficheros de un ordenador a otro. Y ello, sin importar en absoluto donde están localizados estos ordenadores, ni si usan o no el mismo sistema operativo: basta con que estén conectados a Internet.

El programa te deja manipular toda clase de ficheros, tanto si son de tipo texto como si son ejecutables, independientemente de que estos se hallen comprimidos o empaquetados. Tampoco tiene importancia el sistema operativo en que han sido almacenados o al que van destinados; ya sea DOS, UNIX, Windows, Macintosh, VM, VMS, o cualquier otro.

La finalidad de este programa, es pues facilitar la copia o el traslado de ficheros desde el disco de un ordenador al disco de otro, sin correr ningun tipo de riesgo de perdida de información; y de una manera rápida y a la vez muy sencilla.

Normalmente, un usuario utilizará un programa cliente FTP para acceder a un servidor en el que estará funcionando un servidor FTP. Los programas servidores FTP no suelen encontrarse corrientemente en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para traerse ficheros de servidor FTP anónimo o para depositar ficheros en un servidor para su almacenamiento, su publicación como páginas WWW, etc,….

Dependiendo de la máquina en la que se pretenda ejecutar esta aplicación cliente FTP puede variar su nombre, aunque casi siempre se utiliza el comando ‘ftp’. Para los sistemas operativos con “ventanas” (Windows, Mac, X-windows, … ) hay versiones interactivas, a menudo más cómodas de usar, cuyas versiones gratuitas o “shareware” se pueden conseguir por la red. P.e., para Macintosh existe el “Fetch” y para windows el WS-FTP (puedes encontrar una rápida introducción a éste último aquí).

Para acceder a un FTP anónimo, puesto que sólo se trata de ver y traerte ficheros, puedes utilizar también un navegador de internet (NetScape, MS-Explorer,…), pues estos programas también son clientes FTP de sólo lectura. Buen ejemplo de ello son los enlaces del párrafo anterior.

¿Qué es el servicio anonymous FTP ? (FTP anónimo).

El FTP anonymous es un SERVICIO ESPECIAL que te permite, SIN TENER UN ‘USERID’ o CUENTA en un ordenador, poder acceder a sus ficheros.Esta es, de hecho, la manera mas cómoda (después de las páginas WEB) de permitir que todo el mundo tenga acceso a cierta información, sin que para ello el administrador de un sistema tenga que crear una cuenta para cada persona interesada en disponer de ella. Si una máquina posee servicio ‘FTP anonymous’ solamente con teclear la palabra “anonymous” - anónimo en inglés - cuando dicha maquina pregunte por tu usuario, tendras acceso a ese sistema. No necesitas una contraseña aunque, eso sí, tendrás menos privilegios que un usuario normal. Normalmente solo podrás leer, y por supuesto copiarte, los ficheros existentes, pero no modificarlos ni crear otros nuevos.

Normalmente, se utiliza un servidor FTP anónimo para depositar grandes ficheros que no tienen utilidad si no son transferidos a la máquina del usuario (lo más usual: programas). Se reservan los servidores HTTP (de páginas WEB) para depositar información tipo textual, principalmente destinada a la lectura interactiva.

¿Qué puedes encontrar en un ordenador con servicio FTP anonymous?

Estos ordenadores, que permiten que se acceda a ellos mediante ‘FTP anonymous’, disponen de multitud de ficheros de todo tipo, abarcan un sin fin de temas, al igual que ocurre con los servidores WWW. Ten en cuenta que, muchas veces, cuando “picas” en un enlace en una página WWW te estás trayendo un fichero de un servidor FTP anónimo (siempre que el enlace empieze con “ftp://”). Entre los tipos de ficheros que puedes encontrar podríamos comentar estos pocos:

    • Software para todo tipo de ordenadores, desde ordenadores personales hasta supercomputadores. Desde juegos, pasando por antivirus, hasta procesadores de textos y utilidades para el sistema operativo. Y, por supuesto, software de conexión a la red para sacarle aun mas partido.
    • Archivos Gráficos. Imágenes de los programas espaciales de la NASA, fotos via satélite de muchos países del mundo, imágenes de plantas o animales, de chicas guapas (y de chicos!), mapas meteorológicos, etc.
    • Bases de Datos con multitud de ficheros accesibles. Dedicadas a veces a temas exclusivos como: Biología Molecular, Geología y Geofísica, Ciencias de la Salud, Alcoholismo, etc.
    • Archivos Científicos que tratan de encuentros, experimentos o artículos publicados. Otros que recopilan bibliografía de publicaciones ya puedan ser de matemáticas, física, educacíon, nutrición, etc.
    • Revistas publicadas periódicamente en temas que tratan desde música, literatura, leyes, educación o recetas de cocina, hasta biología, matemáticas o ciencias de la información.
    • Ficheros sobre el propio funcionamiento de la red. Y lo mas importante, ficheros dedicados exclusivamente a informar de muchos de los recursos que existen y surgen día tras día a lo largo de la red, explicando como hacer uso de ellos. Recursos que abarcan nuevas Bases de Datos, apariciones de revistas electrónicas, accesos a Bibliotecas Públicas, etc.
    • Y un largo etcetera de muchas cosas mas. Y LO MEJOR DE TODO ELLO es que toda esa información es absolutamente GRATIS. No pagas por los derechos de autor. NO PAGAS por el software que gentilmente la gente pone a disposición de todo el mundo. NO PAGAS por la publicación de las revistas en las que estás interesado, etc.

Una lista de algunos de los comandos mas útiles que puedes utilizar.

Los clientes FTP de toda la vida datan de un tiempo en que no existían “ventanas”. Estos clientes clásicos funcionan en modo “comando” y, aunque parezca mentira, el cliente FTP estándar de Microsoft (que viene con el Windows) es un cliente de este tipo. En Windows9x lo puedes arrancar con sólo ir al menú “inicio”, seleccionar “ejecutar” y escribir “ftp”. En UNIX (un sistema en el que todo es modo comando) basta poner ‘ftp’. En Mac… no hay ninguno estándar.Cuando utilizas un cliente FTP que funciona en modo comando, debes conocer qué comandos usar para decirle lo que quieres que haga. Los comandos más corrientes de un cliente FTP se reseñan a continuación:

open nombre_de_ordenador Comienza una sesión FTP con dicho ordenador.
get nombre_remoto nombre_local Copia un fichero del ordenador remoto al local. Si no se indica ‘nombre_local’ se le asigna el mismo que tiene el fichero en el nodo remoto.
put nombre_local nombre_remoto Copia un fichero del ordenador local al remoto. Si no se da ‘nombre_remoto’ se le asigna el mismo que tiene localmente.
mget Copia uno o varios ficheros del ordenador remoto al local con el mismo nombre. Para copiar varios ficheros se utilizan nombres genéricos mediante el asterisco (*) que se considera caracter comodín
(p.e.: “mget *” ó “mget *.*” ).
mput Copia uno o varios ficheros del ordenador local al remoto con el mismo nombre; pueden copiarse varios ficheros en una sola instrucción mediante el asterisco, de forma análoga al comando MGET.
cd ruta_acceso Cambia de directorio en el ordenador remoto.
dir Muestra información sobre los ficheros existentes en el directorio de trabajo, en el ordenador remoto.
ls Similar a ‘dir’ pero más resumida.
quit Sale del entorno FTP y cierra la sesión.
help Muestra una lista de los comandos disponibles. Tecleando ‘help comando’ da una breve descripción de éste.
type ascii Cambia el modo de transferencia a ASCII; es es el necesario para textos ASCII (NO para ficheros de procesador de texto como el Word). Suele ser el modo por defecto, aunque muchos clientes modernos seleccionan el tipo automáticamente o lo ponen por defecto a “binary”.
type binary Cambia el modo de transferencia a binario. Para imágenes, ejecutables, etc.
delete nombre_remoto Borra el fichero que se indica en el ordenador remoto.
rename nombre_viejo nombre_nuevo Cambia el nombre del fichero en el ordenador remoto.

NOTA: Hay algunos comandos que, obviamente, no se pueden utilizar en el servicio anonymous FTP, estos son: DELETE, RENAME, MPUT.

Un ejemplo completo de sesión FTP utilizando el servicio FTP (en modo comando).

Este ejemplo te mostrará paso a paso que debes hacer (en un cliente en modo comando) para introducirte en un servidor FTP en el que tienes cuenta. La conexión a un FTP anónimo se hace casi igual (se apuntan las diferencias), aunque, obviamente, en un FTP anónimo no puedes hacer un “put” (poner) sino sólo un “get” (traer).IMPORTANTE: En sistemas UNIX la distinción entre mayúsculas y minúsculas es muy importante; por consiguiente, al conectar via ftp a un ordenador UNIX (la mayoría de los servidores), es importante fijarse en los nombres de ficheros y teclearlos tal como aparecen, respetando las mayúsculas y minúsculas. Del mismo modo, todos los comandos deberán teclearse en letra minúscula.

Lo que estas haciendo Lo que tecleas
1) Comienzas el programa FTP e indicas la maquina con la que deseasestablecer comunicación desde tu sistema. open miservidor.uv.es
2) Teclea el nombre del usuario cuando pregunte por el ‘login’(o escribe ‘anonymous’ si quieres entrar en el FTP anónimo y el servidor dispone de ese servicio). miusuario
Despues pedirá la contranseña (por cortesía, en los FTP anónimos, se suele escribir tu propia dirección electrónica) (No se ve lo que tecleas)
3) Mira el contenido del disco dir
4) Te situa en la directorio /doc cd /doc
5) Lista el contenido del directorio dir (o ls)
6) Copia el fichero ‘mifichero.html’ de tu ordenador al servidor, poniéndole allí el nombre ‘mechero.html’ put mifichero.html mechero.html
7) Termina la conexión y acaba la ejecución del programa FTP. quit

NOTA: A menos que “mifichero.html” esté precisamente en el directorio/carpeta en el que estés trabajando (o esté trabajando tu programa FTP), lo normal es que tengas que especificar el “camino” completo donde está tu fichero. P.e., en un Windows, si está en tu disco C: en el directorio “cosas”, sería: C:\cosas\mifichero.html .

¿Cómo accedo a un servidor FTP con un navegador?

Sencillamente, basta con que le digas al navegador, en formato “URL” qué servidor y directorio del mismo quieres ver, o, directamente, qué fichero te quieres traer.P.e., si te quieres conectar al servidor FTP anónimo de la Universitat de València (el ordenador “ftp.uv.es“) y ver lo que hay en el directorio “/pub“, basta que le digas a tu navegador que abra:

ftp://ftp.uv.es/pub

También es corriente que los navegadores te dejen conectar a un servidor no anónimo con tu usuario y contraseña. Aunque, normalmente, no te dejan poner o borrar ficheros, sí que puedes pasearte por el contenido. Basta especificar, además, el usuario y la contraseña en el mismo URL (cuidado que no haya nadie mirando por encima de tu hombro: la contraseña se verá).

P.e.: si quieres ver el fichero que has puesto en el ejemplo de la sección anterior (ordenador “miservidor.uv.es“, usuario “miusuario“, contraseña “micontraseña“, directorio “/doc“, fichero “mechero.html“), basta con que pongas:

ftp://miusuario:micontraseña@miservidor.uv.es/doc/mechero.html

¿Cómo listar un fichero por pantalla sin necesidad de traerlo?

Hay ocasiones en que traes un fichero TEXTO ASCII y para ver su contenido tienes que suspender la sesion FTP, editarlo y comprobar si es lo que buscabas. Y si, entonces, descubres que no es ese el fichero que querías, tienes que borrar la copia que te has traído y has de volver a la conexión con la misma máquina para traer de nuevo otro archivo y así…. Esto puede resultar muy engorroso y a la vez nos hace perder mucho tiempo. Lo que realmente es cómodo es verlo en la pantalla antes de traerlo y así comprobar si es lo que buscas.Esto es trivial si estas utilizando un navegador: siempre te enseña (si puede) los fichero y tienes que decirle explícitamente que se lo traiga. En modo comando esto también es posible, pero difiere un poco segun el sistema desde donde se inicie la conexion:

    • Desde la consola de un PC: get nombre_fichero con:
    • Desde una maquina UNIX: get nombre_fichero -
  • A veces también existe para esto un comando aposta: “type fichero_que_quieres_ver“. Los programas interactivos (que funcionan con ventanas) también suelen disponer de él (de un botón que hace su función).

Transferencia Binaria y ASCII.

En todos los casos, lo más importante es saber como debemos transportar un fichero a lo largo de la red. Si no utilizamos las opciones adecuadas podemos destruir la mayoria de la información que el fichero contiene. Por eso, al ejecutar la aplicación FTP, es imprescindible acordarse de utilizar uno de estos comandos (o poner la correspondiente opción en un programa de ventanas):

type ascii

Siempre y cuando se trate de documentos o ficheros que sólo contengan caracteres imprimibles (ficheros ASCII, no ficheros resultantes de un procesador de texto). El ejemplo típico son las páginas HTML, pero no las imágenes correspondientes.

type binary

Cuando se trate de ficheros comprimidos, ejecutables para PC, imagenes, ficheros de sonido, …

Ejemplos de cómo transferir un fichero dependiendo de su extensión:

EXTENSION DEL FICHERO TIPO DE TRANSFERENCIA
txt (texto) ascii
html (página WEB) ascii
doc (documento) binary
ps (poscript) ascii
hqx (comprimido) ascii
Z (comprimido) binary
ZIP (comprimido) binary
ZOO (comprimido) binary
Sit (comprimido) binary
pit (comrpimido) binary
shar (comprimido) binary
uu (comprimido) binary
ARC (comprimido) binary
tar (empaquetado) binary

¿Cómo desempaquetar o descomprimir ficheros?.

La razón de tener que comprimir ficheros se debe simplemente a que en ocasiones éstos son excesivamente grandes, dificultando así su almacenamiento y, lo que es peor, su transporte a lo largo de la red. Eso motiva que se utilicen técnicas para la compresión de datos, que consiguen reducir el espacio que ocupa cada fichero entre el 30 y el 70% de su tamaño original.

Del mismo modo, el empaquetar ficheros tambien facilita su transporte y movilidad, permitiendo que una estructura de directorios sea cómodamente trasladada de una máquina a otra, sin tener que preocuparte de copiar individualmente fichero a fichero y directorio por directorio, evitando así correr el riesgo de olvidar alguno.

Además, en MacIntosh se hace a menudo necesario codificar los ficheros (que son de una estructura más complicada que en otros sistemas operativos) en un formato fácilmente transmitible por la red (básicamente, se trata de juntar en una pieza las distintas partes de las que se compone un fichero Mac).

A continuación mencionamos algunos programas para descomprimir o desempaquetar dependiendo del sistema operativo de que dispones.

Observa que esta lista está un poco antigua. Hoy en día, básicamente se utiliza:

  • En Windows: el formato “.zip” y se utiliza el programa “shareware” “WINZIP” para empaquetar/ comprimir/ desempaquetar/ descomprimir. Existen descompresores/ desempaquetadores gratuitos.
  • En Mac: el formato “.sit” y el programa “StuffIt” para comprimir. Normalmente el “desempaquetado” es automático y, de todas formas, existen desempaquetadores gratuitos (p.e.: el “UnStuff“). Para codificar se utiliza a menudo el formato “.hqx” cuyo descodificador es el “binhex4” (afortunadamente, el propio cliente FTP suele entender y decodificar automáticamente esta codificación) o el formato “.bin” (”MacBinary”), cuyo decodificador es el “MacBinary“.
  • En UNIX: se utiliza el formato “.tar” (el programa “tar”) para empaquetar/ desempaquetar y el programa”gzip” y “gunzip” (ficheros “.gz”) para comprimir y descomprimir. Ambos son gratuitos y suelen venir con el UNIX.
Programa que te permite descomprimir o desempaquetar
TIPO DE COMPRESOR EXTENSION DOS MACINTOSH UNIX VM/CMS VAX/VMS
ARC ARC arc602.exe ArcMac arc521 arcutil arcvms
BinHex Hqx xbin23.zip BinHex mcvert binhex -
compress Z comp430d.zip MacCompress uncompress compress lzdcomp.exe
PackIt pit UnPackIt PackIt unpit - -
PKZIP ZIP pkz204g.exe UnZip unzip41 - unzip41
StuffIt Sit mactopc StuffIt unsit - -
tar tar tar4dos.zoo UnTar tar tar vmstar
uuencode uu toaduu20.zip uutool uudecode uudecode -
ZOO ZOO ZOO210.exe MacBooz zoo201 zoo zoo218.TAR-Z

0 Responses to “Commandos de FTP”


Comments are currently closed.