I disse dage er deling af filer nemmere end nogensinde. Mellem Dropbox, Google Drive, OneDrive osv. fungerer det ret hurtigt at få ting fra et sted til et andet – medmindre du bruger terminalen. Hvis du bruger terminalen, er chancerne for, at du stadig får filer over SFTP eller noget lige så arkaisk. Introduktion OverførSH: et fildelingsværktøj specielt designet til at lade dig uploade og dele filer fra Linux-terminalen.
SPOILER ALERT: Rul ned og se videotutorialen i slutningen af denne artikel.
Indholdsfortegnelse
Brug af Transfer.sh manuelt
Transfer.sh har en webgrænseflade, og du kan uploade og dele filer fra din browser. Tjenesten fungerer også med kommandolinjen, så du kan dele en fil direkte gennem terminalen. For at dele filer fra Linux-terminalen ved hjælp af Transfer.sh skal du bruge 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
Andre Linux’er
Brugere af ikke-mainstream Linux-distributioner bør ikke have for store problemer med at finde Curl-programmet, på grund af hvor bredt tilgængeligt det er. For at få det skal du blot åbne din pakkehåndtering, søge efter “curl” og installere det! Hvis den af en eller anden grund ikke er tilgængelig for dig, download den her.
Brug af Curl til at uploade
At interagere med transfer.sh ved hjælp af curl kræver en ret lang kommando. Sådan fungerer det.
Find først en fil på dit filsystem at uploade. Brug “find” eller “lokaliser” i din terminal (eller gå til filhåndteringen, find filen og noter, hvor den er). Når du har noteret dig, hvor filen du prøver at uploade er, skal du bruge cd-kommandoen til at gå dertil. I dette eksempel vil vi uploade “test.mp3” fra mappen Dokumenter.
cd ~/Documents
Terminalen er nu i det bibliotek, hvor test.mp3 er. Brug nu denne kommando “formel” til at uploade filen. Dette er den første del af kommandoen:
curl --upload-file ./test.mp3
Det næste trin er at oprette en URL, som transfer.sh kan bruge. Husk filnavnet (såvel som filtypenavnet) og skriv det sådan:
https://transfer.sh/test.mp3
Slutresultatet skulle se sådan ud;
curl --upload-file ./test.mp3 https://transfer.sh/test.mp3
Curl sender filen til Transfer.sh og returnerer en URL. Åbn URL’en for at downloade filen, eller send den til den, du ønsker at dele filen med.
Transfer.sh Terminal Alias
At uploade manuelt med Curl kan få dig ud af en vanskelig situation, men det er ikke perfekt. Der er ingen indikation af, at uploaden virker, hvor meget af en fil der er blevet uploadet, og det er ret kedeligt at huske en sætning bare for at uploade noget. Det er på grund af dette, udvikleren lavede et Bash-alias. Dette bash-alias, når det er sat op, vil give brugeren mulighed for nemt at uploade filer og mapper med et enkelt ord.
For at konfigurere den skal du åbne din BashRC-fil. Forstå, at hver enkelt brugers BashRC-fil skal ændres for at bruge dette alias.
nano ~/.bashrc
Brug Nano til at gå helt til slutningen af filen. Indsæt derefter Transfer SH Alias-koden. Sørg for at indsætte hver eneste bit af koden, ellers vil bash-aliaset ikke fungere.
Bemærk: at indsætte med Nano via udklipsholderen kan gøres med 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 }
Efter at have indsat den lange mængde kode i ~/.bashrc-filen, gem nano med CTRL + O. Genstart din pc, så ændringerne træder i kraft.
Brug af terminalalias til at uploade
Upload med TransferSH alias er meget nemmere end at bruge Curl manuelt. I dette eksempel vil vi igen bruge test.mp3 og mappen Dokumenter.
Trin 1: naviger terminalen til, hvor den fil/mappe, du ønsker at uploade, er.
cd ~/Documents
Trin 2: start uploadprocessen.
transfer test.mp3
eller, for en mappe gør:
transfer file_folder
Trin 3: Vent på, at terminalen uploader filen. En statuslinje vil gå hen over skærmen, og den spytter et downloadlink ud, når den er fuldført.
Downloader med Curl
Curl er mere end blot et uploadværktøj. Det er også et downloadværktøj. Følg disse instruktioner for at downloade en fil, der er uploadet af transfer.sh.
Først skal du kopiere det downloadlink, som uploadværktøjet giver dig, og behold det i dit udklipsholder. Gør derefter dette for at downloade:
curl https://transfer.sh/vN79X/test.zip > test.zip
Sørg for at genskrive navnet på filen efter > til det i downloadlinket. Dette er hvad curl navngiver download på din pc. Det er muligt at ændre navnet, men vi anbefaler det ikke.
Downloader med Wget
På trods af hvor populær Curl er, nægter nogle mennesker at bruge det, da det virker som kompliceret, og i stedet vælger de også at bruge Wget-downloaden. Det giver mening, da Wget er meget ligetil. Ligesom Curl-værktøjet kan Wget også nemt downloade Transfer SH-links. Sådan gør du:
wget https://transfer.sh/vN79X/test.zip
Konklusion
Det sker ikke ofte, men til tider, mens du arbejder på en server, kan du have brug for hurtig adgang til en fil fra en anden computer. Opsætning af SSH, logge på FTP osv. er kedeligt. Det er derfor, TransferSH er et så nyttigt værktøj. Det gør det nemmere end nogensinde at få fat i filer af enhver størrelse lige fra kommandolinjen.