Jak nahrávat a sdílet soubory z terminálu Linux pomocí Transfer.sh

V dnešní době je sdílení souborů snazší než kdy jindy. Mezi Dropboxem, Diskem Google, OneDrive atd. funguje přesun věcí z jednoho místa na druhé poměrně rychle – pokud nepoužíváte terminál. Pokud používáte terminál, je pravděpodobné, že stále získáváte soubory přes SFTP, nebo něco stejně archaického. Představujeme TransferSH: Nástroj pro sdílení souborů speciálně navržený tak, aby vám umožnil nahrávat a sdílet soubory z terminálu Linux.

SPOILER ALERT: Přejděte dolů a podívejte se na video tutoriál na konci tohoto článku.

Ruční použití Transfer.sh

Transfer.sh má webové rozhraní a můžete nahrávat a sdílet soubory z vašeho prohlížeče. Služba funguje také s příkazovým řádkem, takže můžete sdílet soubor přímo přes terminál. Ke sdílení souborů z linuxového terminálu pomocí Transfer.sh potřebujete 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

Ostatní Linuxy

Uživatelé nemainstreamových linuxových distribucí by neměli mít příliš velké problémy s nalezením programu Curl, protože je široce dostupný. Chcete-li jej získat, jednoduše otevřete správce balíčků, vyhledejte „curl“ a nainstalujte jej! Pokud pro vás z nějakého důvodu není k dispozici, stáhněte si to zde.

  Jak nainstalovat motiv Neo-to GTK na Linux

Použití Curl k nahrání

Interakce s transfer.sh pomocí curl vyžaduje poměrně dlouhý příkaz. Zde je návod, jak to funguje.

Nejprve najděte soubor ve vašem souborovém systému, který chcete nahrát. Ve svém terminálu použijte „najít“ nebo „vyhledat“ (nebo přejděte do správce souborů, najděte soubor a poznamenejte si, kde se nachází). Poté, co si poznamenáte, kde je soubor, který se pokoušíte nahrát, přejděte tam pomocí příkazu cd. V tomto příkladu budeme nahrávat soubor „test.mp3“ ze složky Dokumenty.

cd ~/Documents

Terminál je nyní v adresáři, kde je test.mp3. Nyní použijte tento příkaz „vzorec“ k nahrání souboru. Toto je první část příkazu:

 curl --upload-file ./test.mp3

Dalším krokem je vytvoření URL pro transfer.sh k použití. Mějte na paměti název souboru (stejně jako příponu) a napište jej takto:

https://transfer.sh/test.mp3

Konečný výsledek by měl vypadat takto;

curl --upload-file ./test.mp3 https://transfer.sh/test.mp3

Curl odešle soubor na Transfer.sh a vrátí URL. Chcete-li soubor stáhnout, otevřete adresu URL nebo jej odešlete komukoli, s kým chcete soubor sdílet.

Alias ​​terminálu Transfer.sh

Ruční nahrávání pomocí Curl vás může dostat z úzkých, ale není to dokonalé. Nic nenasvědčuje tomu, že nahrávání funguje, jaká část souboru byla nahrána a pamatovat si větu jen pro nahrání něčeho je docela únavné. Z tohoto důvodu si vývojář vytvořil alias Bash. Tento bash alias, když je nastaven, dá uživateli možnost snadno nahrávat soubory a složky pomocí jediného slova.

Chcete-li jej nastavit, otevřete soubor BashRC. Pochopte, že soubor BashRC každého jednotlivého uživatele musí být upraven, aby mohl používat tento alias.

nano ~/.bashrc

Pomocí Nano přejděte na úplný konec souboru. Poté vložte aliasový kód Transfer SH. Nezapomeňte vložit každý kousek kódu, jinak nebude alias bash fungovat.

  Jak povolit automatické přihlášení do Kodi v systému Linux

Poznámka: vkládání pomocí Nano přes schránku lze provést pomocí 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
 }

Po vložení dlouhého množství kódu do souboru ~/.bashrc uložte nano pomocí CTRL + O. Restartujte počítač, aby se úpravy projevily.

Použití aliasu terminálu k nahrávání

Nahrávání s aliasem TransferSH je mnohem jednodušší než ruční použití Curl. V tomto příkladu opět použijeme test.mp3 a složku Dokumenty.

  4 nejlepší přehrávače videa pro Linux

Krok 1: Přejděte na terminálu, kde se nachází soubor/složka, kterou chcete nahrát.

cd ~/Documents

Krok 2: Spusťte proces nahrávání.

transfer test.mp3

nebo pro složku udělejte:

transfer file_folder

Krok 3: Počkejte, až terminál nahraje soubor. Na obrazovce se objeví ukazatel průběhu a po dokončení vyplivne odkaz ke stažení.

Stahování pomocí Curl

Curl je víc než jen nástroj pro nahrávání. Je to také nástroj pro stahování. Chcete-li stáhnout soubor nahraný pomocí transfer.sh, postupujte podle těchto pokynů.

Nejprve zkopírujte odkaz ke stažení, který vám nástroj pro nahrávání poskytne, a uložte jej do schránky. Poté stáhněte toto:

curl https://transfer.sh/vN79X/test.zip > test.zip

Nezapomeňte přepsat název souboru za > na ten v odkazu ke stažení. To je to, co curl pojmenuje stahování do vašeho PC. Je možné změnit název, ale nedoporučujeme to.

Stahování pomocí Wget

Navzdory tomu, jak populární je Curl, někteří lidé jej odmítají používat, protože se zdá být komplikovaný, a místo toho se rozhodnou použít také stažení Wget. Dává to smysl, protože Wget je velmi přímočarý. Stejně jako nástroj Curl může Wget také snadno stáhnout odkazy Transfer SH. Zde je postup:

wget https://transfer.sh/vN79X/test.zip

Závěr

Nestává se to často, ale občas při práci na serveru můžete potřebovat rychlý přístup k souboru z jiného počítače. Nastavení SSH, přihlašování na FTP atd. jsou únavné. Proto je TransferSH tak užitečným nástrojem. Díky tomu je získávání souborů jakékoli velikosti přímo z příkazového řádku snazší než kdy předtím.