Terminal i FTP
Chociaż OS X pozwala łączyć się z różnymi FTP-ami z poziomu Findera, to czasem musimy zautomatyzować czynność pobierania, czy przesyłania plików na FTP. W takich sytuacjach przydatny może się okazać Terminal.
Zacznijmy jednak od początku.
Po pierwsze, do nawiązywania połączeń z FTP-em służy polecenie ftp
zapisane w któryś z wybranych podstawowych wariantów:
ftp adresserwera
ftp uzytkownik@adresserwera
ftp ftp://uzytkownik:hasło@adresserwera
Wybierając dwie pierwsze opcje będziemy potem musieli wprowadzić odpowiednio login i hasło lub same hasło.
Po drugie, jeśli mamy zamiar często łączyć się z konkretnym FTP-em, warto skorzystać z możliwości zapisania danych serwera w specjalnym pliku .netrc
, który domyślnie nie istnieje. Aby go stworzyć należy (upewniwszy się wcześniej, że znajdujemy się w katalogu domowym ~
) skorzystać z polecenia:
touch .netrc
Następnie edytujemy plik poleceniem:
nano .netrc
Dane serwera(-ów) zapisujemy według poniższego schematu:
machine adresserwera
login użytkownik
password hasło
Plik zapisujemy klawiszami Ctrl ^
+o
i zamykamy Ctrl ^
+x
. Z tak zapisanymi serwerami będziemy mogli od tej pory łączyć się automatycznie poleceniem:
ftp adresserwera
Kiedy już nawiążemy połączenie z serwerem FTP warto również pamiętać o kilku przydatnych komendach:
prompt
– wyłączamy zapytania – szczególnie przydatne, jeśli chcemy zautomatyzować proces przesyłania plików i robimy to na wielu z nich.mget
– służy do pobierania wskazanego pliku.mput
– służy do wysyłania wskazanego pliku.cd
– działa tak samo, jak w powłoce Bash – służy do zmiany katalogu.lcd
– służy do zmiany lokalnej ścieżki katalogu (w przeciwnym wypadku pliki z FTP-a będą domyślnie pobierane do katalogu, w którym akurat wywołaliśmy połączenie).ls
lubdir
– wyświetla zawartość danego katalogu i informacje o znajdujących się w nim elementach.bye
lubexit
– zamyka połączenie z FTP.
Ostatnią rzeczą, którą chciałbym poruszyć, jest wykorzystanie powyższej wiedzy do automatyzacji. Aby to zrobić, musimy zawrzeć wszystkie polecenia, jakie mają być wykonywane na serwerze FTP między określonymi znacznikami, np. << EOF
a EOF
. Przy czym zamiast EOF
możemy zastosować niemal dowolny ciąg znaków (jeśli tylko nie jest wykorzystywany jako polecenie). Całość przedstawiać się będzie następująco:
ftp adresserwera << EOF
polecenie 1
polecenie 2
...
polecenie n
EOF
Komentarze: 7
Ja jednak wolę korzystać z MacPortów i mieć do wyboru bardziej zaawansowane narzędzia.
A mi to doskonale wystarczy do skryptu. :)
Dzięki. Właśnie miałem tego szukać. :)