Cómo cargar y compartir archivos desde la terminal de Linux con Transfer.sh

En estos días, compartir archivos es más fácil que nunca. Entre Dropbox, Google Drive, OneDrive, etc., llevar cosas de un lugar a otro funciona bastante rápido, a menos que esté utilizando la terminal. Si está utilizando la Terminal, es probable que aún obtenga archivos a través de SFTP, o algo igualmente arcaico. Presentando TransferSH: una herramienta para compartir archivos diseñada específicamente para permitirle cargar y compartir archivos desde la terminal de Linux.

ALERTA DE SPOILER: Desplácese hacia abajo y vea el video tutorial al final de este artículo.

Usando Transfer.sh manualmente

Transfer.sh tiene una interfaz web y puede cargar y compartir archivos desde su navegador. El servicio también funciona con la línea de comandos para que pueda compartir un archivo directamente a través de la terminal. Para compartir archivos desde la terminal de Linux usando Transfer.sh, necesita Curl.

Ubuntu

sudo apt install curl

Debian

sudo apt-get install curl

Arch Linux

sudo pacman -S curl

Fedora

sudo dnf install curl

OpenSUSE

sudo zypper install curl

Otros Linux

Los usuarios de distribuciones de Linux no convencionales no deberían tener demasiados problemas para encontrar el programa Curl, debido a su amplia disponibilidad. Para obtenerlo, simplemente abra su administrador de paquetes, busque «curl» e instálelo. Si por alguna razón no está disponible para usted, descarguelo aqui.

Usando Curl para subir

Interactuar con transfer.sh usando curl requiere un comando bastante largo. Así es como funciona.

  Cómo jugar Grim Dawn en Linux

Primero, busque un archivo en su sistema de archivos para cargar. Utilice «buscar» o «localizar» en su terminal (o vaya al administrador de archivos, busque el archivo y tome nota de dónde está). Después de tomar nota de dónde está el archivo que está intentando cargar, use el comando cd para ir allí. En este ejemplo, cargaremos “test.mp3” desde la carpeta Documentos.

cd ~/Documents

La terminal ahora está en el directorio donde está test.mp3. Ahora, use este comando «fórmula» para cargar el archivo. Esta es la primera parte del comando:

 curl --upload-file ./test.mp3

El siguiente paso es crear una URL para que la utilice transfer.sh. Tenga en cuenta el nombre del archivo (así como la extensión) y escríbalo así:

https://transfer.sh/test.mp3

El resultado final debería verse así;

curl --upload-file ./test.mp3 https://transfer.sh/test.mp3

Curl enviará el archivo a Transfer.sh y devolverá una URL. Abra la URL para descargar el archivo o envíelo a quien desee compartir el archivo.

Transfer.sh Terminal Alias

Cargar manualmente con Curl puede sacarlo de un apuro, pero no es perfecto. No hay indicios de que la carga esté funcionando, cuánto de un archivo se ha cargado y recordar una oración solo para cargar algo es bastante tedioso. Es por esto que el desarrollador creó un alias de Bash. Este alias de bash, cuando se configura, le dará al usuario la capacidad de cargar fácilmente archivos y carpetas, con una sola palabra.

Para configurarlo, abra su archivo BashRC. Comprenda que el archivo BashRC de cada usuario individual debe modificarse para usar este alias.

nano ~/.bashrc

Usando Nano, vaya al final del archivo. Luego, pega el código Transfer SH Alias. Asegúrese de pegar todos y cada uno de los bits del código, o el alias de bash no funcionará.

  Cómo hacer una copia de seguridad de los juegos guardados de Retroarch en Linux

Nota: pegar usando Nano a través del portapapeles se puede hacer con CTRL + MAYÚS + V.

transfer() {
 # check arguments
 if [ $# -eq 0 ];
 then
 echo "No arguments specified. Usage:necho transfer /tmp/test.mdncat /tmp/test.md | transfer test.md"
 return 1
 fi

# get temporarily filename, output is written to this file show progress can be showed
 tmpfile=$( mktemp -t transferXXX )

# upload stdin or file
 file=$1

if tty -s;
 then
 basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g')

if [ ! -e $file ];
 then
 echo "File $file doesn't exists."
 return 1
 fi

if [ -d $file ];
 then
 # zip directory and transfer
 zipfile=$( mktemp -t transferXXX.zip )
 cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile
 curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile
 rm -f $zipfile
 else
 # transfer file
 curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile
 fi
 else
 # transfer pipe
 curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile
 fi

# cat output link
 cat $tmpfile
 echo ""
 # cleanup
 rm -f $tmpfile
 }

Después de pegar la gran cantidad de código en el archivo ~ / .bashrc, guarde nano con CTRL + O. Reinicie su PC para que las ediciones entren en vigor.

Uso de alias de terminal para cargar

Cargar con el alias de TransferSH es mucho más fácil que usar Curl manualmente. En este ejemplo, usaremos nuevamente test.mp3 y la carpeta Documentos.

Paso 1: navega por la terminal hasta donde se encuentra el archivo / carpeta que deseas cargar.

cd ~/Documents

Paso 2: inicia el proceso de carga.

  Cómo instalar WPS Office en Linux

transfer test.mp3

o, para una carpeta, haga:

transfer file_folder

Paso 3: Espere a que la terminal cargue el archivo. Una barra de progreso atravesará la pantalla y mostrará un enlace de descarga cuando se complete.

Descargando con Curl

Curl es más que una simple herramienta de carga. También es una herramienta de descarga. Para descargar un archivo cargado por transfer.sh, siga estas instrucciones.

Primero, copie el enlace de descarga que le brinda la herramienta de carga y guárdelo en su portapapeles. Luego, haz esto para descargar:

curl https://transfer.sh/vN79X/test.zip > test.zip

Asegúrese de volver a escribir el nombre del archivo después de> en el enlace de descarga. Esto es lo que curl denomina la descarga en tu PC. Es posible cambiar el nombre, pero no lo recomendamos.

Descargando con Wget

A pesar de lo popular que es Curl, algunas personas se niegan a usarlo porque parece complicado y, en su lugar, eligen usar la descarga de Wget también. Tiene sentido, ya que Wget es muy sencillo. Al igual que la herramienta Curl, Wget también puede descargar fácilmente enlaces Transfer SH. Así es cómo:

wget https://transfer.sh/vN79X/test.zip

Conclusión

No sucede a menudo, pero a veces, mientras trabaja en un servidor, es posible que necesite un acceso rápido a un archivo desde otra computadora. Configurar SSH, iniciar sesión en FTP, etc., son tediosos. Por eso TransferSH es una herramienta tan útil. Hace que capturar archivos de cualquier tamaño directamente desde la línea de comandos sea más fácil que nunca.