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.
últimas postagens
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.
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.
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.
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.