Idag är det enklare än någonsin att dela filer. Mellan Dropbox, Google Drive, OneDrive etc., att få saker från en plats till en annan fungerar ganska snabbt - såvida du inte använder terminalen. Om du använder terminalen är chansen stor att du fortfarande får filer via SFTP, eller något lika arkaiskt. Introduktion av TransferSH: ett fildelningsverktyg som är specifikt utformat för att låta dig ladda upp och dela filer från Linux Terminal.
SPOILER VARNING: Rulla nedåt och titta på videodelen i slutet av den här artikeln.
Använda Transfer.sh manuellt
Överföra.sh har ett webbgränssnitt och du kan ladda upp och dela filer från din webbläsare. Tjänsten fungerar också med kommandoraden så att du kan dela en fil direkt via terminalen. För att dela filer från Linux-terminalen med Transfer.sh behöver du 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
Andra Linux-filer
Användare av icke-mainstream Linux-distributionerborde inte ha för mycket problem med att hitta Curl-programmet på grund av hur allmänt tillgängligt det är. För att få det öppnar du bara din paketansvarig, söker efter "curl" och installerar den! Om det av någon anledning inte är tillgängligt för dig, ladda ner det här.
Använda Curl för att ladda upp
Att interagera med transfer.sh med curl kräver ganska långt kommando. Så här fungerar det.

Hitta först en fil på ditt filsystem att ladda upp. Använd "find" eller "find" i din terminal (eller gå till filhanteraren, hitta filen och notera var den är). Efter att ha noterat var filen du försöker ladda upp använder du cd-kommandot för att gå dit. I det här exemplet kommer vi att ladda upp "test.mp3" från mappen Dokument.
cd ~/Documents
Terminalen finns nu i katalogen där test.mp3 är. Använd nu detta kommando "formel" för att ladda upp filen. Detta är den första delen av kommandot:
curl --upload-file ./test.mp3
Nästa steg är att skapa en URL för transfer.sh att använda. Kom ihåg filnamnet (liksom tillägget) och skriv det så här:
https://transfer.sh/test.mp3
Slutresultatet ska se ut så här;
curl --upload-file ./test.mp3 https://transfer.sh/test.mp3
Curl skickar filen till Transfer.sh och returnerar en URL. Öppna URL: n för att ladda ner filen eller skicka den till den du vill dela filen med.
Transfer.sh Terminal Alias
Uppladdning manuellt med Curl kan komma ur ensnäva plats, men det är inte perfekt. Det finns inget som tyder på att överföringen fungerar, hur mycket av en fil som har laddats upp och att komma ihåg en mening bara för att ladda upp något är ganska tråkigt. Det är därför utvecklaren gjorde ett Bash-alias. Detta basalias, när det konfigureras, ger användaren möjlighet att enkelt ladda upp filer och mappar med ett enda ord.
Öppna din BashRC-fil för att konfigurera den. Förstå att varje enskild användares BashRC-fil måste modifieras för att använda detta alias.
nano ~/.bashrc
Gå till slutet av filen med Nano. Klistra sedan in överföringskoden för SH-alias. Se till att klistra in varje bit av koden, annars kommer basalias inte att fungera.

Obs! Klistra in med Nano via klippbordet kan göras med CTRL + SKIFT + 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 klistra in den långa mängden kod till ~ / .Bashrc fil, spara nano med CTRL + O. Starta om datorn så att ändringarna träder i kraft.
Använda terminal alias för att ladda upp
Att ladda upp med TransferSH-aliaset är mycket lättare än att använda Curl manuellt. I det här exemplet använder vi igen test.mp3 och mappen Dokument.
Steg 1: navigera i terminalen till var filen / mappen du vill ladda upp finns.
cd ~/Documents
Steg 2: starta uppladdningsprocessen.

transfer test.mp3
eller för en mapp gör:
transfer file_folder
Steg 3: Vänta tills terminalen laddar upp filen. En framstegsfält går över skärmen och den släpper ner en nedladdningslänk när den är klar.
Nedladdning med Curl
Curl är mer än bara ett uppladdningsverktyg. Det är också ett nedladdningsverktyg. Följ dessa anvisningar för att ladda ner en fil som laddats upp av transfer.sh.
Kopiera först nedladdningslänken som uppladdningsverktyget ger dig och förvara den i ditt urklipp. Gör sedan detta för att ladda ner:
curl https://transfer.sh/vN79X/test.zip > test.zip
Var noga med att skriva namnet på filen efter > till den i nedladdningslänken. Det här är vad curl namnger nedladdningen på din PC. Det är möjligt att ändra namnet, men vi rekommenderar det inte.
Nedladdning med Wget
Trots hur populär Curl är, vägrar vissa människoratt använda det eftersom det blir så komplicerat, och istället väljer du att använda Wget-nedladdningen också. Det är meningsfullt, eftersom Wget är mycket enkelt. Liksom Curl-verktyget kan Wget också enkelt ladda ner Transfer SH-länkar. Här är hur:
wget https://transfer.sh/vN79X/test.zip
Slutsats
Det händer inte ofta, men ibland medanarbetar på en server kan du behöva snabb åtkomst till en fil från en annan dator. Att ställa in SSH, logga in på FTP etc. är tråkiga. Det är därför TransferSH är ett så användbart verktyg. Det gör det så att det blir enklare än någonsin att ta filer i valfri storlek direkt från kommandoraden.
kommentarer