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.