- - Hur man laddar upp och delar filer från Linux-terminalen med Transfer.sh

Hur man laddar upp och delar filer från Linux-terminalen med Transfer.sh

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