Î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ă.