Како да отпремите и делите датотеке са Линук терминала помоћу Трансфер.сх

U današnje vreme, deljenje datoteka je izuzetno jednostavno. Zahvaljujući servisima kao što su Dropbox, Google Drive, OneDrive i slični, prebacivanje podataka sa jednog uređaja na drugi odvija se veoma brzo. Međutim, situacija se menja kada koristite terminal. Ako radite sa terminalom, vrlo je verovatno da i dalje pribegavate metodama kao što je SFTP, koje se mogu smatrati zastarelim. Predstavljamo vam TransferSH: alatku posebno razvijenu kako biste mogli lako otpremati i deliti datoteke direktno iz Linux terminala.

UPOZORENJE: Ne propustite video uputstvo na kraju ovog teksta.

Korišćenje Transfer.sh ručno

Transfer.sh nudi i web interfejs, tako da možete otpremati i deliti datoteke i putem vašeg internet pregledača. Ovaj servis funkcioniše i sa komandnom linijom, što omogućava deljenje datoteka direktno iz terminala. Za deljenje datoteka sa Linux terminala koristeći Transfer.sh, neophodno je da imate instaliran 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

Ostali Linux sistemi

Korisnici manje poznatih Linux distribucija ne bi trebalo da imaju poteškoća da pronađu i instaliraju Curl, s obzirom na njegovu široku dostupnost. Jednostavno otvorite upravitelj paketa, potražite „curl“ i instalirajte ga! Ako iz nekog razloga nije dostupan, možete ga preuzeti ovde.

Korišćenje Curl-a za otpremanje

Za interakciju sa Transfer.sh pomoću Curl-a potrebna je nešto duža komanda. Evo kako to funkcioniše.

Prvo, pronađite datoteku koju želite otpremiti na svom sistemu. Koristite komande „find“ ili „locate“ u terminalu (ili otvorite upravitelj datoteka, pronađite datoteku i zabeležite njenu lokaciju). Kada zabeležite lokaciju, koristite komandu „cd“ kako biste se prebacili u taj direktorijum. U ovom primeru, otpremaćemo datoteku „test.mp3“ koja se nalazi u folderu Dokumenti.

cd ~/Documents

Sada se terminal nalazi u direktorijumu u kojem je smeštena datoteka test.mp3. Zatim, koristite sledeću komandu „formulu“ za otpremanje datoteke. Ovo je prvi deo komande:

 curl --upload-file ./test.mp3

Sledeći korak je kreiranje URL adrese za Transfer.sh. Obratite pažnju na naziv datoteke (uključujući i ekstenziju) i napišite je na ovaj način:

https://transfer.sh/test.mp3

Konačni rezultat bi trebalo da izgleda ovako:

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

Curl će poslati datoteku na Transfer.sh i vratiti URL. Otvorite URL kako biste preuzeli datoteku ili ga pošaljite osobi sa kojom želite da je podelite.

Transfer.sh Terminal Alias

Ručno otpremanje pomoću Curl-a može biti od pomoći u nekim situacijama, ali nije idealno rešenje. Ne postoje informacije o tome da li otpremanje radi, koliko je datoteke otpremljeno, a samo pamćenje komande za otpremanje može biti naporno. Zbog toga je programer kreirao Bash alias. Ovaj alias, kada se podesi, omogućava korisniku da lako otprema datoteke i foldere, koristeći samo jednu reč.

Da biste ga podesili, otvorite vašu BashRC datoteku. Imajte na umu da se BashRC datoteka mora menjati za svakog korisnika ponaosob kako bi ovaj alias funkcionisao.

nano ~/.bashrc

U Nanu, skrolujte do samog kraja datoteke. Zatim, zalepite Transfer SH Alias kod. Obavezno zalepite svaki deo koda, inače alias neće funkcionisati.

Napomena: lepljenje u Nanu pomoću međuspremnika možete izvršiti pritiskom na 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
  }

Nakon što ste zalepili dugačak kod u ~/.bashrc datoteku, sačuvajte izmene u Nanu pomoću CTRL + O. Zatim, ponovo pokrenite računar kako bi promene stupile na snagu.

Korišćenje Terminal Aliasa za Otpremanje

Otpremanje pomoću TransferSH aliasa je mnogo jednostavnije nego ručno korišćenje Curl-a. U ovom primeru, ponovo ćemo koristiti test.mp3 datoteku i folder Dokumenti.

Korak 1: u terminalu navigirajte do lokacije gde se nalazi datoteka/folder koju želite da otpremite.

cd ~/Documents

Korak 2: pokrenite proces otpremanja.

transfer test.mp3

ili, za folder uradite:

transfer file_folder

Korak 3: sačekajte da terminal otpremi datoteku. Traka napretka će se pojaviti na ekranu, a kada se proces završi, biće prikazana veza za preuzimanje.

Preuzimanje pomoću Curl-a

Curl nije samo alat za otpremanje, već i za preuzimanje. Da biste preuzeli datoteku koju ste otpremili pomoću transfer.sh, pratite ova uputstva.

Prvo, kopirajte link za preuzimanje koji vam je dat alatkom za otpremanje i sačuvajte ga u međuspremnik. Zatim, uradite sledeće kako biste preuzeli datoteku:

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

Obavezno prepišite naziv datoteke nakon znaka „>“ u naziv koji se nalazi u linku za preuzimanje. Ovo je naziv pod kojim će Curl sačuvati datoteku na vašem računaru. Moguće je promeniti naziv, ali to se ne preporučuje.

Preuzimanje pomoću Wget-a

Uprkos popularnosti Curl-a, neki ljudi ga ne koriste jer im se čini komplikovanim, pa umesto toga biraju Wget za preuzimanje. To ima smisla, jer je Wget veoma jednostavan. Baš kao i Curl, i Wget može lako preuzeti Transfer SH linkove. Evo kako:

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

Zaključak

Nije često, ali ponekad dok radite na serveru, možda će vam biti potreban brz pristup nekoj datoteci sa drugog računara. Konfigurisanje SSH-a, prijavljivanje na FTP i slično može biti zamorno. Zbog toga je TransferSH tako korisna alatka. Zahvaljujući njoj, preuzimanje datoteka bilo koje veličine direktno iz komandne linije je lakše nego ikada.