Estoy tratando de ftp una carpeta usando la línea de comando ftp client, pero hasta ahora solo he podido usar 'get' para obtener archivos individuales.
linux
command-line
ftp
Charles Ma
fuente
fuente
mget
, no es recursivo en absoluto. la respuesta del 22 de septiembre de 08 a las 9:01 Thibaut Barrère es más fácil de entender pero debe agregar la opción-l 0
como se menciona en los comentariosRespuestas:
Puede confiar en wget, que generalmente maneja ftp get correctamente (al menos en mi propia experiencia). Por ejemplo:
También puede usar el
-m
que sea adecuado para duplicar. Actualmente es equivalente a-r -N -l inf
.Si tiene algunos caracteres especiales en los detalles de la credencial, puede especificar los argumentos
--user
y--password
para que funcione. Ejemplo con inicio de sesión personalizado con caracteres específicos:EDITAR Como lo señaló @asmaier, tenga cuidado de que incluso si
-r
es por recursividad, tiene un nivel máximo predeterminado de 5:Si no quieres perderte las subdirecciones, mejor usa la opción de duplicación
-m
:fuente
wget -m
(--mirror
).wget -r
está limitado a una profundidad de recursión de 5 por defecto.--user
y--password
también en Red Hat. Mi wget es:GNU Wget 1.11.4 Red Hat modified
me pregunto si es una cosa de versión o de distro ...-l 0
, por lo que no hay necesidad de usar--mirror
que puede tener algunos efectos secundarios no deseados, tales como archivos .listingwget --ask-password -rl 99 ftp://[email protected]
. De esta forma, la contraseña no es visibleps
y no permanece en el historial. Por supuesto, por la naturaleza de ftp, se envía sin cifrar al servidor.$
), por ejemplo--user='user' --password='pa$$word'
Solo para complementar la respuesta dada por Thibaut Barrère.
solía
Tenga en cuenta la doble barra después del nombre del servidor. Si no coloca una barra inclinada adicional, la ruta es relativa al directorio de inicio del usuario.
-nH
evita la creación de un directorio con el nombre del servidor-nc
evita crear un nuevo archivo si ya existe en el destino (solo se omite)--cut-dirs=5
permite tomar el contenido del directorio / absolute / path / to / y colocarlo en el directorio donde inicia wget. El número 5 se usa para filtrar los 5 componentes de la ruta. La doble barra significa un componente adicional.fuente
--ftp-user=USER
y--ask-password
.fuente
open ftp://USERNAME:PASSWORD@HOST
después de comenzar ncftp ...wget
, y más rápido también en modo TAR. ¡Gracias!Si
lftp
está instalado en su máquina, usemirror dir
. Y ya terminaste. Vea el comentario de Ciro a continuación si desea descargar recursivamente un directorio.fuente
mirror -R dir
carga / actualización recursiva de directoriosmirror ./
para descargar todos los archivos y carpetas de forma recursiva en la ruta actual.mirror
, para el directorio actual y sus subcarpetas.Si puede usar en
scp
lugar deftp
, la-r
opción lo hará por usted. Verificaría si puede usar un mecanismo de transferencia de archivos más moderno que FTP.fuente
scp
aún intentará usar ssh, que no funcionará si solo tiene credenciales FTP. Se siente raro responder a un comentario de 2008 diciendo que la tecnología que estoy atascado con moderna no es :( bueno de 2008, que cumplió 18 años el día que envió su comentario.Use WGet en su lugar. Es compatible con los protocolos HTTP y FTP.
¡Buena suerte!
referencia: http://linux.about.com/od/commands/l/blcmdl1_wget.htm
fuente
Hay 'ncftp' que está disponible para su instalación en Linux. Esto funciona en el protocolo FTP y se puede usar para descargar archivos y carpetas de forma recursiva. Funciona en Linux. Se ha utilizado y funciona bien para la transferencia recursiva de carpetas / archivos.
Consulte este enlace ... http://www.ncftp.com/
fuente
Si puede, le sugiero encarecidamente
tar
ybzip
(ogzip
lo que sea que flote su barco) el directorio en la máquina remota: para un directorio de cualquier tamaño significativo, el ahorro de ancho de banda probablemente valdrá la pena el tiempo para comprimir / descomprimir.fuente
Si desea apegarse a la línea de comando FTP, debe probar NcFTP. Luego puede usar get -R para obtener una carpeta de forma recursiva. También obtendrá finalización.
fuente
wget -r ftp://url
Funciona perfectamente para Redhat y Ubuntu
fuente
No deberías usar
ftp
. Al igualtelnet
que no está utilizando protocolos seguros, y las contraseñas se transmiten en texto claro. Esto hace que sea muy fácil para terceros capturar su nombre de usuario y contraseña.Para copiar directorios remotos de forma remota, estas opciones son mejores:
rsync
es la herramienta más adecuada si puede iniciar sesión a través dessh
, ya que solo copia las diferencias y puede reiniciarse fácilmente en el medio en caso de que se rompa la conexión.ssh -r
es la segunda mejor opción para copiar recursivamente estructuras de directorios.Ver:
página de manual de rsync
ssh man page
fuente
alternar la solicitud mediante el comando PROMPT.
Uso:
fuente