Como fazer upload e compartilhar arquivos do terminal Linux com Transfer.sh

Hoje em dia, compartilhar arquivos é mais fácil do que nunca. Entre Dropbox, Google Drive, OneDrive etc., levar coisas de um lugar para outro funciona muito rápido – a menos que você esteja usando o terminal. Se você estiver usando o Terminal, é provável que ainda esteja recebendo arquivos por SFTP ou algo igualmente arcaico. Apresentando TransferirSH: uma ferramenta de compartilhamento de arquivos projetada especificamente para permitir que você carregue e compartilhe arquivos do Terminal Linux.

ALERTA DE SPOILER: Role para baixo e assista ao tutorial em vídeo no final deste artigo.

Usando Transfer.sh manualmente

Transfer.sh tem uma interface web e você pode fazer upload e compartilhar arquivos do seu navegador. O serviço também funciona com a linha de comando para que você possa compartilhar um arquivo diretamente pelo terminal. Para compartilhar arquivos do terminal Linux usando Transfer.sh, você precisa do 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

Outros Linux

Os usuários de distribuições Linux não convencionais não devem ter muita dificuldade em encontrar o programa Curl, devido à sua ampla disponibilidade. Para obtê-lo, basta abrir seu gerenciador de pacotes, procurar por “curl” e instalá-lo! Se por algum motivo não estiver disponível para você, baixe aqui.

  Como jogar Subnautica no Linux

Usando Curl para fazer upload

Interagir com transfer.sh usando curl requer um comando bastante longo. Aqui está como funciona.

Primeiro, encontre um arquivo em seu sistema de arquivos para fazer o upload. Use “find” ou “locate” em seu terminal (ou vá até o gerenciador de arquivos, encontre o arquivo e anote onde ele está). Depois de anotar onde está o arquivo que você está tentando enviar, use o comando cd para ir até lá. Neste exemplo, faremos o upload de “test.mp3” da pasta Documentos.

cd ~/Documents

O terminal está agora no diretório onde está test.mp3. Agora, use este comando “fórmula” para fazer o upload do arquivo. Esta é a primeira parte do comando:

 curl --upload-file ./test.mp3

A próxima etapa é criar uma URL para transfer.sh usar. Tenha em mente o nome do arquivo (assim como a extensão) e escreva assim:

https://transfer.sh/test.mp3

O resultado final deve ficar assim;

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

O Curl enviará o arquivo para Transfer.sh e retornará um URL. Abra o URL para baixar o arquivo ou envie-o para quem você deseja compartilhar o arquivo.

Alias ​​do Terminal Transfer.sh

Carregar manualmente com o Curl pode tirar você de uma situação difícil, mas não é perfeito. Não há indicação de que o upload esteja funcionando, quanto de um arquivo foi carregado e lembrar de uma frase apenas para fazer upload de algo é bastante tedioso. É por isso que o desenvolvedor criou um alias Bash. Este alias bash, quando configurado, dará ao usuário a capacidade de fazer upload de arquivos e pastas facilmente, com uma única palavra.

  Como fazer um USB do Windows a partir do terminal Linux

Para configurá-lo, abra seu arquivo BashRC. Entenda que o arquivo BashRC de cada usuário individual deve ser modificado para usar esse alias.

nano ~/.bashrc

Usando o Nano, vá até o final do arquivo. Em seguida, cole o código Transferir SH Alias. Certifique-se de colar cada parte do código, ou o alias do bash não funcionará.

Nota: colar usando Nano através da área de transferência pode ser feito com CTRL + SHIFT + 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
 }

Depois de colar a grande quantidade de código no arquivo ~/.bashrc, salve o nano com CTRL + O. Reinicie seu PC para que as edições entrem em vigor.

Usando Terminal Alias ​​para fazer upload

Fazer upload com o alias TransferSH é muito mais fácil do que usar o Curl manualmente. Neste exemplo, usaremos novamente test.mp3 e a pasta Documentos.

  Como clonar sua instalação do Linux com o Clonezilla

Passo 1: navegue no terminal até onde está o arquivo/pasta que você deseja fazer o upload.

cd ~/Documents

Passo 2: inicie o processo de upload.

transfer test.mp3

ou, para uma pasta, faça:

transfer file_folder

Passo 3: Aguarde o terminal carregar o arquivo. Uma barra de progresso passará pela tela e exibirá um link de download quando estiver concluído.

Baixando com Curl

O Curl é mais do que apenas uma ferramenta de upload. É uma ferramenta de download também. Para baixar um arquivo carregado por transfer.sh, siga estas instruções.

Primeiro, copie o link de download que a ferramenta de upload fornece e mantenha-o na área de transferência. Em seguida, faça isso para baixar:

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

Certifique-se de reescrever o nome do arquivo após > para aquele no link de download. É assim que o curl nomeia o download no seu PC. É possível alterar o nome, mas não recomendamos.

Baixando com Wget

Apesar da popularidade do Curl, algumas pessoas se recusam a usá-lo, pois parece complicado e, em vez disso, optam por usar o download do Wget também. Faz sentido, pois o Wget é muito direto. Assim como a ferramenta Curl, o Wget também pode baixar facilmente links Transfer SH. Veja como:

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

Conclusão

Isso não acontece com frequência, mas às vezes, enquanto estiver trabalhando em um servidor, você pode precisar de acesso rápido a um arquivo de outro computador. Configurar o SSH, fazer login no FTP etc., são tediosos. É por isso que TransferSH é uma ferramenta tão útil. Isso torna a captura de arquivos de qualquer tamanho diretamente da linha de comando mais fácil do que nunca.