Aquí hay un enfoque:
$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF
Alternativamente, cree (o edite) el archivo ~/.netrc en el directorio de inicio del usuario que ejecutará el comando ftp, asígnele los permisos apropiados (chmod 0600 ~/.netrc
), y agregue lo siguiente:
# ~/.netrc
machine ftp.example.com
login user
password secret
Luego omita la información de inicio de sesión, como en:
$ echo put my-local-file.txt | ftp ftp.example.com
Además, así es como podrías hacer lo mismo usando curl:
$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret
Puedo recomendar ftp-upload
. Es una pequeña herramienta genial que puedes instalar bajo ubuntu a través de sudo apt-get install ftp-upload
.
Ejemplo de uso:
ftp-upload -h {HOST} -u {USERNAME} --password {PASSWORD} -d {SERVER_DIRECTORY} {FILE_TO_UPLOAD}
Debe corregir la URL proporcionada en su estado de cuenta. Recibiste el error porque la URL estaba incompleta; faltaba el nombre del objeto que estás cargando. Una vez que agregue el nombre de archivo después de 'example.com' como lo he hecho a continuación, verá que el comando único funciona como pretendía.
Prueba esto:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt