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

În zilele noastre, partajarea fișierelor este mai ușoară ca niciodată. Între Dropbox, Google Drive, OneDrive etc., transferul lucrurilor dintr-un loc în altul funcționează destul de rapid – cu excepția cazului în care utilizați terminalul. Dacă utilizați Terminalul, sunt șanse să primiți în continuare fișiere prin SFTP sau ceva la fel de arhaic. Introducand TransferSH: un instrument de partajare a fișierelor conceput special pentru a vă permite să încărcați și să partajați fișiere de pe terminalul Linux.

ALERTA SPOILER: Derulați în jos și urmăriți tutorialul video de la sfârșitul acestui articol.

Folosind Transfer.sh manual

Transfer.sh are o interfață web și puteți încărca și partaja fișiere din browser. Serviciul funcționează și cu linia de comandă, astfel încât să puteți partaja un fișier direct prin terminal. Pentru a partaja fișiere de pe terminalul Linux folosind Transfer.sh, aveți nevoie de 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 Linux-uri

Utilizatorii distribuțiilor Linux non-mainstream nu ar trebui să aibă prea multe probleme în găsirea programului Curl, din cauza cât de disponibil este acesta. Pentru a-l obține, pur și simplu deschideți managerul de pachete, căutați „curl” și instalați-l! Dacă din anumite motive nu este disponibil pentru dvs., descărcați-l aici.

  Cum să faci ca aplicațiile Windows să funcționeze pe Linux cu CrossOver

Folosind Curl pentru a încărca

Interacțiunea cu transfer.sh folosind curl necesită o comandă destul de lungă. Iată cum funcționează.

Mai întâi, găsiți un fișier pe sistemul dvs. de fișiere pentru a încărca. Folosiți „găsiți” sau „localizați” în terminalul dvs. (sau accesați managerul de fișiere, găsiți fișierul și luați notă de unde se află). După ce ați luat notă de unde se află fișierul pe care încercați să îl încărcați, utilizați comanda cd pentru a merge acolo. În acest exemplu, vom încărca „test.mp3” din folderul Documente.

cd ~/Documents

Terminalul se află acum în directorul în care se află test.mp3. Acum, utilizați această comandă „formula” pentru a încărca fișierul. Aceasta este prima parte a comenzii:

 curl --upload-file ./test.mp3

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

https://transfer.sh/test.mp3

Rezultatul final 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 o adresă URL. Deschideți adresa URL pentru a descărca fișierul sau trimiteți-o oricui doriți să partajați fișierul.

Alias ​​terminal Transfer.sh

Încărcarea manuală cu Curl vă poate scoate dintr-un punct dificil, dar nu este perfect. Nu există nicio indicație că încărcarea funcționează, cât de mult a fost încărcat un fișier și amintirea unei propoziții doar pentru a încărca ceva este destul de obositoare. Din această cauză, dezvoltatorul a creat un alias Bash. Acest alias bash, atunci când este configurat, va oferi utilizatorului posibilitatea de a încărca cu ușurință fișiere și foldere, cu un singur cuvânt.

Pentru a-l configura, deschideți fișierul BashRC. Înțelegeți că fișierul BashRC al fiecărui utilizator individual trebuie modificat pentru a utiliza acest alias.

nano ~/.bashrc

Folosind Nano, mergeți la sfârșitul fișierului. Apoi, lipiți codul Alias ​​Transfer SH. Asigurați-vă că lipiți fiecare bit al codului, altfel alias-ul bash nu va funcționa.

  Cum să obțineți monitorizarea rețelei în timp real pe Linux cu Netdata

Notă: inserarea folosind Nano prin clipboard se poate face cu 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
 }

După ce lipiți cantitatea mare de cod în fișierul ~/.bashrc, salvați nano cu CTRL + O. Reporniți computerul, astfel încât editările să intre în vigoare.

Utilizarea Aliasului Terminal pentru a încărca

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

Pasul 1: navigați pe terminal până unde se află fișierul/dosarul 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, faceți:

transfer file_folder

Pasul 3: Așteptați ca terminalul să încarce fișierul. O bară de progres va trece pe ecran și va scuipa un link de descărcare când este finalizat.

  Cum să configurați mașini virtuale pe Linux cu casete Gnome

Descărcarea cu Curl

Curl este mai mult decât un instrument de încărcare. Este și un instrument de descărcare. Pentru a descărca un fișier încărcat de transfer.sh, urmați aceste instrucțiuni.

Mai întâi, copiați linkul de descărcare pe care vi-l oferă instrumentul de încărcare și păstrați-l în clipboard. Apoi, procedați astfel pentru a descărca:

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

Asigurați-vă că rescrieți numele fișierului după > în cel din linkul de descărcare. Acesta este ceea ce curl numește descărcarea de pe computer. Este posibil să schimbați numele, dar nu îl recomandăm.

Descărcarea cu Wget

În ciuda cât de popular este Curl, unii oameni refuză să-l folosească deoarece pare complicat și, în schimb, aleg să folosească și descărcarea Wget. Are sens, deoarece Wget este foarte simplu. La fel ca instrumentul Curl, Wget poate descărca cu ușurință link-uri Transfer SH. Iată cum:

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

Concluzie

Nu se întâmplă des, dar uneori, în timp ce lucrați pe un server, este posibil să aveți nevoie de acces rapid la un fișier de pe alt computer. Configurarea SSH, autentificarea la FTP etc. sunt plictisitoare. De aceea TransferSH este un instrument atât de util. Face ca preluarea fișierelor de orice dimensiune chiar din linia de comandă să fie mai ușoară ca niciodată.