Mastodon

Terminal i FTP

7
Dodane: 9 lat temu

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 lub dir – wyświetla zawartość danego katalogu i informacje o znajdujących się w nim elementach.
  • bye lub exit – 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. << EOFEOF. 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

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 7