Efektywne wykorzystanie potencjału systemów uniksowych
-
Automatyzacja zadań
-
Przeszukiwanie plików i katalogów
-
Przenoszenie skryptów pomiędzy systemami
W dobie graficznych narzędzi programistycznych często pomijamy tradycyjne metody rozwiązywania przeróżnych zadań związanych z działaniem systemu operacyjnego. Skrypty powłoki, niegdyś podstawowe narzędzie administratorów i programistów systemów uniksowych, dziś są zdecydowanie mniej popularne. Skrypty powłoki są przydatne zarówno administratorom systemu, jak i szeregowym użytkownikom, ponieważ są jednym z najlepszych sposobów na zaprzęgnięcie do pracy setek narzędzi, w jakie wyposażony jest Unix. Z narzędzi tych w języku programowania powłoki łatwo stworzyć rozwiązanie niemal dowolnego zadania związanego z przetwarzaniem danych.
Książka "Programowanie skryptów powłoki" to kompendium wiedzy dotyczącej tej nieco już zapomnianej techniki. Przedstawia nie tylko język programowania powłoki, ale także narzędzia systemu Unix. Dostarcza informacji o tym, do jakich zadań się nadają, jak je wywoływać i jak łączyć je z innymi programami, konstruując z nich mechanizm przetwarzania danych. W książce opisano nie tylko sposoby pisania użytecznych skryptów powłoki, ale również metody dostosowywania powłoki do własnych potrzeb oraz przenoszenia skryptów pomiędzy różnymi wariantami Uniksa i różnymi implementacjami powłoki.
-
Podstawowe elementy skryptów powłoki
-
Wyszukiwanie i zastępowanie fragmentów tekstów
-
Stosowanie wyrażeń regularnych
-
Korzystanie z potoków
-
Instrukcje warunkowe
-
Definiowanie i stosowanie zmiennych
-
Przetwarzanie plików
-
Standardowe wejście i wyjście
-
Korzystanie z możliwości awk
-
Przenoszenie skryptów pomiędzy różnymi powłokami
-
Bezpieczeństwo skryptów powłoki
Książka "Programowanie skryptów powłoki" zawiera wszystkie informacje niezbędne do mistrzowskiego opanowania narzędzi oferowanych przez systemy uniksowe.
SPIS TREŚCI:
Przedmowa (7)
Wstęp (9)
1. Tło historyczne (21)
-
1.1. Historia systemu Unix (21)
-
1.2. Filozofia narzędzi programowych (24)
-
1.3. Podsumowanie (26)
2. Zaczynamy (27)
-
2.1. Języki skryptowe a języki kompilowane (27)
-
2.2. Po co nam skrypty powłoki? (28)
-
2.3. Prosty skrypt (28)
-
2.4. Autonomia skryptów - wiersz #! (29)
-
2.5. Podstawowe konstrukcje powłoki (31)
-
2.6. Odwołania do argumentów skryptów (42)
-
2.7. Śledzenie wykonania skryptu (43)
-
2.8. Umiędzynarodowienie i lokalizacja (44)
-
2.9. Podsumowanie (47)
3. Wyszukiwanie i podstawianie (49)
-
3.1. Wyszukiwanie tekstu (49)
-
3.2. Wyrażenia regularne (51)
-
3.3. Manipulowanie polami (75)
-
3.4. Podsumowanie (84)
4. Narzędzia przetwarzania tekstu (87)
-
4.1. Sortowanie tekstu (87)
-
4.2. Usuwanie duplikatów (95)
-
4.3. Formatowanie akapitów (96)
-
4.4. Zliczanie wierszy, słów i znaków (97)
-
4.5. Drukowanie (98)
-
4.6. Wycinanie początkowych i końcowych wierszy pliku (104)
-
4.7. Podsumowanie (105)
5. Niezwykła moc potoków (107)
-
5.1. Wyłuskiwanie danych ze strukturalizowanych plików tekstowych (107)
-
5.2. Strukturalizacja danych dla potrzeb WWW (114)
-
5.3. Gierki słowne i krzyżówki (120)
-
5.4. Słowniki (121)
-
5.5. Znaczniki (124)
-
5.6. Podsumowanie (127)
6. Zmienne, podejmowanie decyzji i powtarzanie operacji (129)
-
6.1. Zmienne w obliczeniach arytmetycznych (129)
-
6.2. Kody powrotne poleceń i funkcji (140)
-
6.3. Instrukcja case (148)
-
6.4. Pętle (149)
-
6.5. Funkcje (155)
-
6.6. Podsumowanie (158)
7. Wejście i wyjście, pliki i przetwarzanie poleceń (161)
-
7.1. Standardowe wejście, wyjście i wyjście diagnostyczne (161)
-
7.2. Wczytywanie wierszy danych - read (162)
-
7.3. Jeszcze o przekierowywaniu (164)
-
7.4. Jeszcze o poleceniu printf (168)
-
7.5. Rozwijanie tyldy i symbole wieloznaczne (173)
-
7.6. Podstawianie poleceń (176)
-
7.7. Cytaty w powłoce (182)
-
7.8. Etapy przetwarzania poleceń i polecenie eval (183)
-
7.9. Polecenia wbudowane (190)
-
7.10. Podsumowanie (197)
8. Skrypty produkcyjne (199)
-
8.1. Przeszukiwanie ścieżki (199)
-
8.2. Automatyczna kompilacja oprogramowania (213)
-
8.3. Podsumowanie (242)
9. Nieuzbrojony a niebezpieczny - awk (243)
-
9.1. Wywołanie awk (244)
-
9.2. Model programistyczny awk (245)
-
9.3. Elementy programu (246)
-
9.4. Rekordy i pola (256)
-
9.5. Wzorce i akcje (258)
-
9.6. "Jednowierszowce" w awk (260)
-
9.7. Instrukcje awk (264)
-
9.8. Funkcje definiowane przez użytkownika (272)
-
9.9. Funkcje operujące na ciągach (275)
-
9.10. Funkcje matematyczne (283)
-
9.11. Podsumowanie (285)
10. Praca z plikami (287)
-
10.1. Generowanie list plików (287)
-
10.2. Aktualizacja czasu modyfikacji (292)
-
10.3. Tworzenie i stosowanie plików tymczasowych (294)
-
10.4. Wyszukiwanie plików (298)
-
10.5. Uruchamianie poleceń - xargs (312)
-
10.6. Informacje o zajętości systemu plików (313)
-
10.7. Porównywanie plików (317)
-
10.8. Podsumowanie (325)
11. Z życia wzięte - scalanie baz danych kont systemowych (327)
-
11.1. Problem (327)
-
11.2. Pliki kont (328)
-
11.3. Scalanie plików kont (329)
-
11.4. Aktualizacja uprawnień dostępu do plików (335)
-
11.5. Kwestie poboczne (339)
-
11.6. Podsumowanie (341)
12. Sprawdzanie pisowni (343)
-
12.1. Program spell (343)
-
12.2. Prototyp oryginalnego uniksowego programu kontroli pisowni (344)
-
12.3. Ulepszenia, rozszerzenia, ispell i aspell (345)
-
12.4. Kontrola pisowni w awk (348)
-
12.5. Podsumowanie (367)
13. Procesy (369)
-
13.1. Tworzenie procesu (370)
-
13.2. Listy procesów (371)
-
13.3. Tworzenie i usuwanie procesu (377)
-
13.4. Śledzenie wywołań systemowych (384)
-
13.5. Mechanizmy rozliczania procesów (388)
-
13.6. Opóźnianie i planowanie wykonania procesów (389)
-
13.7. System plików /proc (394)
-
13.8. Podsumowanie (395)
14. Przenośność skryptów i rozszerzenia powłoki (397)
-
14.1. Kruczki (397)
-
14.2. Polecenie shopt (powłoka bash) (401)
-
14.3. Rozszerzenia wspólne (405)
-
14.4. Pobieranie i instalacja (417)
-
14.5. Inne rozszerzone powłoki wzorowane na powłoce Bourne'a (421)
-
14.6. Wersje powłoki (421)
-
14.7. Inicjalizacja i finalizacja sesji powłoki (422)
-
14.8. Podsumowanie (428)
15. Bezpieczeństwo skryptów powłoki (431)
-
15.1. Wskazówki dla piszących skrypty powłoki (431)
-
15.2. Powłoki okrojone (434)
-
15.3. Konie trojańskie (436)
-
15.4. Skrypty powłoki z bitem setuid (437)
-
15.5. Tryb uprzywilejowany w ksh93 (439)
-
15.6. Podsumowanie (440)
A Tworzenie dokumentacji dla systemu man (443)
B Pliki i systemy plików (457)
C Najważniejsze polecenia systemu Unix (493)
Bibliografia (499)
Słowniczek (505)
Skorowidz (533)