Linux E X P R E S

Facebook

Nahrávání souborů na FTP z kontextové nabídky

ftpup.png

Máte na svém webovém úložišti složku, kam nahráváte soubory, které potřebujete rychle někomu poskytnout? Chtěli byste je do ní nahrávat přímo z kontextové nabídky


Co budete potřebovat?

Kromě vlastního FP úložiště rozhodně program balíček ftp.

Příprava

Nejdříve vytvořte soubor .netrc ve vašem domovském adresáři, bude v něm uloženo heslo k FTP v čitelné podobě, pokud vám to vadí, nemusíte ani dál číst (nebo se podělte o lepší řešení v komentářích). Do něj uložte následující (samozřejmě upravené podle vašich přístupových údajů):

machine ftp.hulahop.cz
login hulahop
password hejhula

Nyní se nebude konzolový FTP klient ptát na heslo, takže jej můžete v klidu volat z kontextové nabídky.

Posílání na server

Samotné odesílání se provádí příkazem:

echo -e "put /home/franta/soubor.txt bordel/soubor.txt\nquit" | ftp -p ftp.hulahop.cz

Tento příkaz odešle soubor.txt ve Frantově domovském adresáři do adresáře bordel na FTP umístění. V podobě skriptu pak bude vypadat takto:

#!/bin/bash
#
# churchyard's file uploader
# $1 path to file
# $2 filename
echo -e "put \"$1\" bordel/\"$2\"\nquit" | ftp -p ftp.hulahop.cz

Nezapomeňte skript uložit do nějakého adresáře v $PATH a nastavit mu právo ke spuštění.

Přidání do kontextové nabídky

V Xfce stačí nakonfigurovat v Thunaru vlastní akci. V GNOME pak poradí článek o skriptech pro Nautilus.

Vlastní akce ThunaruVlastní akce Thunaru

Vylepšení

Takže už můžete z kontextové nabídky nahrát soubor na FTP, ale většinou k němu budete potřebovat odkaz, ten se může po odeslání objevit ve schránce (budete potřebovat balík xclip):

#!/bin/bash
#
# churchyard's file uploader
# $1 path to file
# $2 filename
echo -e "put \"$1\" bordel/\"$2\"\nquit" | ftp -p ftp.hulahop.cz
echo "http://www.hulahop.cz/bordel/$2" | xclip -selection "clipboard"

Položka v kontextové nabídcePoložka v kontextové nabídce

Diskuze (7) Nahoru