V dnešní digitální éře se sdílení souborů stalo neuvěřitelně jednoduchým. Služby jako Dropbox, Google Drive a OneDrive umožňují rychlý přesun dat mezi různými platformami. Nicméně, pokud jste zvyklí pracovat s terminálem, pravděpodobně stále používáte metody jako SFTP, které mohou být považovány za zastaralé. Právě pro vás přichází TransferSH, nástroj určený k nahrávání a sdílení souborů přímo z vašeho linuxového terminálu.
Níže v tomto článku naleznete video tutoriál, který vám ukáže, jak na to.
Manuální použití Transfer.sh
Transfer.sh nabízí webové rozhraní, které umožňuje nahrávání a sdílení souborů i z webového prohlížeče. Nicméně, plný potenciál tohoto nástroje se ukrývá v jeho integraci s příkazovou řádkou. Pro sdílení souborů z linuxového terminálu budete potřebovat nástroj 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
Další distribuce Linuxu
Uživatelé méně rozšířených linuxových distribucí by neměli mít problém s instalací Curl, jelikož je obecně dostupný. Stačí otevřít váš správce balíčků, vyhledat „curl“ a nainstalovat ho. Pokud by pro vás Curl nebyl dostupný, můžete si ho stáhnout zde.
Nahrávání souborů pomocí Curl
Pro interakci s Transfer.sh pomocí curl je nutné zadat relativně dlouhý příkaz. Zde je postup, jak na to.
Nejprve si najděte soubor, který chcete nahrát. Můžete použít příkazy jako „find“ nebo „locate“ v terminálu, nebo použít váš správce souborů a poznamenat si jeho umístění. Jakmile znáte cestu k souboru, přejděte do tohoto adresáře pomocí příkazu „cd“. V tomto příkladu budeme nahrávat soubor „test.mp3“ z adresáře Dokumenty.
cd ~/Documents
Nyní, když je terminál v adresáři, kde se nachází soubor test.mp3, použijte následující příkaz pro nahrání souboru. Toto je první část příkazu:
curl --upload-file ./test.mp3
Nyní je potřeba vytvořit URL pro Transfer.sh. Mějte na paměti název souboru včetně přípony a zadejte URL ve formátu:
https://transfer.sh/test.mp3
Kompletní příkaz bude vypadat následovně:
curl --upload-file ./test.mp3 https://transfer.sh/test.mp3
Curl odešle váš soubor na Transfer.sh a vrátí vám URL adresu. Otevřete tuto URL adresu pro stažení souboru, nebo ji pošlete komukoli, s kým chcete soubor sdílet.
Alias pro terminál Transfer.sh
Manuální nahrávání pomocí Curl může být užitečné, ale není dokonalé. Neinformuje vás o postupu nahrávání a pamatovat si celý příkaz pro nahrání souboru je poměrně zdlouhavé. Proto vývojáři vytvořili bash alias. Tento alias vám umožní nahrávat soubory a složky pomocí jediného slova.
Pro nastavení aliasu je potřeba otevřít soubor .bashrc. Mějte na paměti, že každý uživatel má svůj vlastní soubor .bashrc, který musí být upraven.
nano ~/.bashrc
V Nano se posuňte na konec souboru a vložte kód aliasu Transfer SH. Ujistěte se, že vložíte celý kód, jinak nebude alias fungovat správně.
Poznámka: vkládání v Nano přes schránku se provádí pomocí CTRL + SHIFT + V.
transfer() { # kontrola argumentů if [ $# -eq 0 ]; then echo "Nebyly zadány žádné argumenty. Použití: transfer /tmp/test.md nebo cat /tmp/test.md | transfer test.md" return 1 fi # získá dočasný název souboru pro zobrazení průběhu tmpfile=$( mktemp -t transferXXX ) # nahraje stdin nebo soubor file=$1 if tty -s; then basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g') if [ ! -e $file ]; then echo "Soubor $file neexistuje." return 1 fi if [ -d $file ]; then # zazipuje adresář a nahraje 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 # nahraje soubor curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile fi else # nahraje pipe curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile fi # vypíše odkaz cat $tmpfile echo "" # úklid rm -f $tmpfile }
Po vložení kódu do souboru ~/.bashrc uložte změny pomocí CTRL + O. Pro aktivování změn je potřeba restartovat terminál nebo počítač.
Nahrávání pomocí aliasu
Nahrávání s aliasem TransferSH je mnohem jednodušší než manuální použití Curl. V tomto příkladu opět použijeme soubor test.mp3 a adresář Dokumenty.
Krok 1: Přejděte v terminálu do adresáře, kde se nachází soubor nebo složka, kterou chcete nahrát.
cd ~/Documents
Krok 2: Spusťte nahrávání pomocí aliasu.
transfer test.mp3
nebo pro složku použijte:
transfer file_folder
Krok 3: Počkejte, dokud terminál nenahraje soubor. Na obrazovce se zobrazí ukazatel průběhu a po dokončení se zobrazí odkaz pro stažení.
Stahování pomocí Curl
Curl je všestranný nástroj, který lze použít i ke stahování souborů. Pro stažení souboru nahraného pomocí Transfer.sh postupujte podle následujících kroků.
Nejprve zkopírujte odkaz ke stažení, který vám Transfer.sh poskytl, a uložte ho do schránky. Poté zadejte následující příkaz:
curl https://transfer.sh/vN79X/test.zip > test.zip
Nezapomeňte nahradit název souboru za znakem „>“ názvem souboru, který je uveden v odkazu ke stažení. Curl pojmenuje stahovaný soubor podle toho, co je uvedeno za znakem „>“. Můžete si název souboru upravit, ale není to doporučeno.
Stahování pomocí Wget
I přes popularitu Curl někteří uživatelé dávají přednost nástroji Wget, protože se zdá být jednodušší na používání. Wget může také snadno stahovat soubory z Transfer SH. Postup je následující:
wget https://transfer.sh/vN79X/test.zip
Závěr
Občas se může stát, že při práci se serverem potřebujete rychlý přístup k souboru z jiného počítače. Nastavování SSH nebo FTP může být zdlouhavé. Právě proto je TransferSH tak užitečný nástroj. Umožňuje vám získat soubory jakékoli velikosti přímo z příkazového řádku rychle a efektivně.