Na początek nauki basha zapoznanie z programem wget, który służy min do ściągania całych witryn internetowych. Nie będę przepisywać z sieci wszystkiego co o wget zdołałam w krótkim czasie przeczytać. Na początek wystarczy link do bardzo obszernego opisu wget z mnóstwem przykładów wywołania.
Mnie przyszło rozszyfrować dwa polecenia:
wget -O default.aspx -t 45 -q --referer=http://adres.pl http://adres.pl; wget -O files/file.aspx --random-wait --referer=http://adres-2.pl -a output.log http://adres-2.pl
Na pomoc przychodzi ściągawka w której opisano opcje wget, albo szczegółowa dokumentacja wget w języku polskim Można tam przeczytać, że:
- -O file lub –output-document=file opcja ta powoduje, że dokumenty nie będą zapisywane do odpowiednich plików, ale wszystkie zostaną sklejone i zapisane do jednego pliku o wskazanej nazwie. Jeśli plik istnieje, to zostanie nadpisany. Jeśli jako plik podano `-‘, dokumenty będą zapisane na standardowe wyjście. Włączenie tej opcji automatycznie ustawia liczbę prób na 1.
- -t number lub –tries=number ustawia liczbę ponawiania prób. Dla nieskończonego ponawiania podajemy 0 lub `inf’.
- -q lub –quiet Tryb cichy. Wyłącza wyjście Wget.
- –referer=url zamieszcza nagłówek `Referer: url’ w żądaniu HTTP. Przydatne do pobierania dokumentów z przetwarzaniem po stronie serwera zakładającym, że są one zawsze pobierane przez interaktywne przeglądarki Sieci i przychodzą poprawnie tylko wtedy, gdy Refer jest ustawione na jedną ze stron, które na nie wskazują.
- –random-wait wprowadza odstępy między żądaniami o losowej długości. Pozwala uniknąć uruchomienia zabezpieczeń anty-floodowych
- -a logfile lub append-outputlogfile dodaje komunikaty na końcu pliku dziennika. Jeśli plik dziennik nie istnieje, jest tworzony.
Jednym słowem. Kod w wierszu 1 pobiera plik z adresu ‘http://adres.pl’, w zapytaniu ustawia nagłówek ‘Referer’, zapisuje do pliku ‘default.aspx’, i podejmuje do 45 prób pobrania pliku. Kod w wierszu drugim pobiera plik z adresu ‘http://adres-2.pl’, w zapytaniu ustawia nagłówek ‘Referer’, zapisuje do pliku files/file.aspx ponadto stosuje odczekuje chwilę aby nie wzbudzić podejrzeń i dopisuje logi do pliku ‘output.log’. Nic naprawdę skomplikowanego.
Bardzo przydatny program, sam go używam i jestem z niego niezmiernie zadowolony!