Cum să încărcați și să partajați fișiere de pe terminalul Linux cu Transfer.sh

În prezent, distribuirea fișierelor a devenit incredibil de simplă. Cu servicii ca Dropbox, Google Drive, OneDrive și altele, transferul datelor între locații este foarte rapid – cu o singură excepție: folosirea terminalului. Dacă utilizați terminalul, este probabil să primiți fișiere prin SFTP sau alte metode similare, mai vechi. Acesta este locul unde intervine TransferSH: un instrument specializat în partajarea de fișiere, creat pentru a permite încărcarea și distribuirea fișierelor direct din terminalul Linux.

AVERTISMENT: Vă invităm să vizionați tutorialul video de la sfârșitul acestui articol.

Utilizarea manuală a Transfer.sh

Transfer.sh pune la dispoziție o interfață web, permițând încărcarea și partajarea de fișiere direct din browser. Serviciul poate fi utilizat și prin linia de comandă, ceea ce vă oferă posibilitatea de a partaja un fișier direct din terminal. Pentru a realiza acest lucru, este necesar să aveți instalat 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

Alte Distribuții Linux

Utilizatorii distribuțiilor Linux mai puțin populare nu vor întâmpina dificultăți în găsirea lui Curl, dat fiind că este un instrument foarte răspândit. Pentru a-l obține, deschideți managerul de pachete, căutați „curl” și instalați-l. Dacă din anumite motive nu este disponibil, îl puteți descărca de aici.

Încărcarea folosind Curl

Interacțiunea cu transfer.sh prin intermediul curl implică utilizarea unei comenzi destul de lungi. Iată cum funcționează aceasta:

În primul rând, identificați un fișier pe sistemul dvs. pe care doriți să-l încărcați. Utilizați comanda „find” sau „locate” în terminal (sau folosiți managerul de fișiere pentru a găsi fișierul și a afla locația exactă). După ce știți unde se află fișierul, utilizați comanda „cd” pentru a ajunge în acel director. În acest exemplu, vom încărca „test.mp3” din folderul Documente.

cd ~/Documents

Acum, terminalul se află în directorul cu fișierul test.mp3. Pentru a încărca fișierul, folosiți următoarea comandă:

 curl --upload-file ./test.mp3

Următorul pas este să creați o adresă URL pentru transfer.sh. Rețineți numele fișierului (inclusiv extensia) și scrieți adresa astfel:

https://transfer.sh/test.mp3

Comanda completă ar trebui să arate astfel:

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

Curl va trimite fișierul la Transfer.sh și va returna un URL. Accesați URL-ul pentru a descărca fișierul sau partajați-l cu oricine doriți.

Alias Terminal Transfer.sh

Deși încărcarea manuală cu Curl este utilă în anumite situații, nu este perfectă. Nu există o indicație clară că încărcarea este în desfășurare, nu se afișează progresul încărcării și memorarea comenzii pentru a încărca un fișier poate fi obositoare. Din acest motiv, dezvoltatorul a creat un alias Bash. Acest alias, odată configurat, permite utilizatorului să încarce ușor fișiere și foldere, folosind un singur cuvânt.

Pentru a-l configura, deschideți fișierul BashRC. Trebuie să înțelegeți că fiecare utilizator trebuie să modifice propriul fișier BashRC pentru a folosi aliasul.

nano ~/.bashrc

Folosind Nano, deplasați-vă la sfârșitul fișierului. Apoi, inserați codul Alias Transfer SH. Asigurați-vă că inserați fiecare parte a codului, altfel alias-ul nu va funcționa.

Notă: în Nano, puteți insera text din clipboard folosind CTRL + SHIFT + V.

transfer() {
 # verifică argumentele
 if [ $# -eq 0 ];
 then
 echo "Nu au fost specificate argumente. Utilizare:necho transfer /tmp/test.mdncat /tmp/test.md | transfer test.md"
 return 1
 fi

# obține temporar numele fișierului, ieșirea este scrisă în acest fișier, progresul poate fi afișat
 tmpfile=$( mktemp -t transferXXX )

# încarcă stdin sau fișierul
 file=$1

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

if [ ! -e $file ];
 then
 echo "Fișierul $file nu există."
 return 1
 fi

if [ -d $file ];
 then
 # arhivează directorul și 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ă fișierul
 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

# afișează link-ul de ieșire
 cat $tmpfile
 echo ""
 # curățare
 rm -f $tmpfile
 }

După ce ați inserat acest cod în fișierul ~/.bashrc, salvați modificările în Nano folosind CTRL + O. Reporniți computerul pentru a aplica schimbările.

Utilizarea Aliasului Terminal pentru Încărcare

Încărcarea cu aliasul TransferSH este mult mai simplă decât folosirea manuală a Curl. În acest exemplu, vom folosi din nou fișierul test.mp3 și folderul Documente.

Pasul 1: navigați în terminal către locația fișierului/folderului pe care doriți să îl încărcați.

cd ~/Documents

Pasul 2: începeți procesul de încărcare.

transfer test.mp3

Sau, pentru un folder, utilizați:

transfer file_folder

Pasul 3: așteptați ca terminalul să încarce fișierul. Veți vedea o bară de progres, iar la final, va fi afișat un link de descărcare.

Descărcarea cu Curl

Curl nu este doar un instrument de încărcare, ci și unul de descărcare. Pentru a descărca un fișier încărcat pe Transfer.sh, urmați aceste instrucțiuni.

Mai întâi, copiați link-ul de descărcare furnizat de instrumentul de încărcare și păstrați-l în clipboard. Apoi, pentru a descărca, utilizați următoarea comandă:

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

Asigurați-vă că rescrieți numele fișierului după „>” cu cel din link-ul de descărcare. Acesta este modul în care curl salvează descărcarea pe computer. Puteți schimba numele, dar nu este recomandat.

Descărcarea cu Wget

Deși Curl este popular, unii oameni preferă să folosească Wget pentru descărcare, considerând că este mai simplu. Wget poate descărca la fel de ușor link-urile Transfer SH. Iată cum:

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

Concluzie

Deși nu se întâmplă frecvent, uneori, când lucrați pe un server, este posibil să aveți nevoie rapid de un fișier de pe un alt computer. Configurarea SSH, autentificarea la FTP etc. sunt proceduri complicate. De aceea, TransferSH este un instrument foarte util. Facilitează obținerea fișierelor, indiferent de dimensiune, direct din linia de comandă.