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).lslubdir– wyświetla zawartość danego katalogu i informacje o znajdujących się w nim elementach.byelubexit– 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ć. :)