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.
Tabla de contenido
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.
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á.
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.
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.