Linux: compartir archivos desde línea de comandos

Comment

Informática Linux Software

Compartir archivos desde línea de comandos puede ser muy sencillo con transfer.sh y sin instalar nada. Aunque en realidad sse requiere cURL o Wget, pero probablemente ya lo tengan instalado.

El servicio es gratuito, permite carga de archivos de hasta 10 Gb, y mantiene almacenado los archivos por 14 días. En mis pruebas, resultó muy rápido. Y como es OpenSource, si quieres usar transfer.sh en tu propio servidor, el código se encuentra en GitHub.

Como comentaba, se necesita tener instalado cURL, en caso de que no lo tuvieras instalado, puedes usar este comando: (en distribusiones basadas en Debian: Ubuntu, Mint, etc)

sudo apt install curl

Para subir los archivos a transfer.sh y obtener la URL a compartir, se debe usar el siguiente comando:

curl --upload-file ./myfile.txt https://transfer.sh/myfile.txt

Obviamente se debe reemplazar “myfile.txt” por el nombre de archivo que se desea compartir. El archivo puede ser previsualizado en el navegador, y se descarga directamente por la línea de comandos. Por ejemplo:

curl -O https://transfer.sh/4ityD/myfile.txt

Para hacerlo aún más sencillo, se puede utilizar con alias bash. Paso a explicar: abre ~/.bashrc con un editor de texto y pega el siguiente código al final del archivo:

transfer() {
if [ $# -eq 0 ]; then
echo "No se especificaron parametros. Debe usar:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md";
return 1;
fi
tmpfile=$( mktemp -t transferXXX );
if tty -s; then
basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g');
curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile;
else
curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ;
fi;
cat $tmpfile;
rm -f $tmpfile;
}

Luego guarda el archivo y ejecuta el comando siguiente:

. ~/.bashrc

Hay un punto y luego un espacio… y eso es todo. Ahora simplemente puedes usar “transfer” para cargar archivos, así:

transfer myfile.txt

Espero les sea de utilidad… Hay unos cuantos más servicios similares pero que sirven para archivos de menor tamaño: chunk.io, up.depado.eu, etc.

Este artículo está traducido desde: Easily Share Files From The Command Line With transfer.sh ~ Web Upd8: Ubuntu / Linux blog

Deja un comentario