Sådan uploader og deler du filer fra Linux-terminalen med Transfer.sh

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.

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.

  Sådan bruger du Shutter screenshot-appen på Linux

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.

  Sådan konverteres PNG til JPG på Linux

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.

  Sådan gemmer du DVD'er og Blu-rays på din Linux-pc

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.