Скрипты оболочки Linux. Темы
Товар
Характеристики
Описание
Skrypty powłoki systemu Linux. Zagadnienia zaawansowane. Wydanie II
Mokhtar Ebrahim, Andrew Mallett
Mimo że nowe wydania dystrybucji Linuksa są coraz łatwiejsze w obsłudze, a ważniejsze czynności administracyjne mogą być wykonywane za pomocą intuicyjnego interfejsu graficznego, wciąż nie można się obejść bez powłoki Bourne'a, znanej jako bash. Dobrze napisany skrypt powłoki pozwala na automatyzację nudnych obowiązków, umożliwia monitorowanie stanu systemu, optymalizację jego wydajności czy dostosowanie go do potrzeb. Warto też wypróbować ciekawą alternatywę dla tradycyjnych skryptów powłoki bash, czyli kod Pythona.
Dzięki tej książce nauczysz się wszystkiego, co jest potrzebne do pisania profesjonalnych skryptów powłoki. Dowiesz się, czym są powłoki systemu Linux, dlaczego tak ważna jest powłoka bash i w jaki sposób edytuje się skrypty. Nauczysz się pracy na zmiennych, debugowania kodu i tworzenia skryptów interaktywnych. Będziesz korzystać z instrukcji warunkowych i pętli, a także z edytora vim, pakietu Visual Studio Code oraz edytora strumieniowego sed. Zapoznasz się z zasadami pisania funkcji, dzięki którym będziesz mógł wielokrotnie używać uniwersalnych fragmentów kodu. Ponadto zdobędziesz umiejętność przetwarzania danych tekstowych, zarówno za pomocą polecenia AWK, jak i wyrażeń regularnych. Na koniec przekonasz się, jak ciekawą alternatywą dla skryptów powłoki bash jest kod napisany w Pythonie!
W tej książce między innymi:
- wyczerpujące wprowadzenie do tworzenia i debugowania skryptów powłoki
- składnia alternatywna i operacje arytmetyczne
- praca z blokami kodu i korzystanie z funkcji
- automatyzacja tworzenia hostów wirtualnych
- zaawansowane korzystanie z polecenia AWK
- skrypty do analizy plików dziennika i tworzenia raportów
Opanuj sztukę pisania doskonałych skryptów powłoki!
O autorach
Mokhtar Ebrahim od 2010 roku administruje systemami Linux. Jego pasją jest tworzenie skryptów powłoki bash i programów w Pythonie, automatyzujących wiele codziennych zadań. Pisze artykuły techniczne dla serwisu Like Geeks.
Andrew Mallett jest autorem książek i właścicielem The Urban Penguin. Tworzy profesjonalne oprogramowanie i prowadzi szkolenia z zakresu systemów Linux. Jest wielkim fanem wiersza poleceń i uważa skrypty za nieodzowne narzędzie każdego admina.
Spis treści
O autorach 9
O recenzencie 10
Przedmowa 11
Rozdział 1. Co i dlaczego w skryptach powłoki bash 15
- Wymagania techniczne 16
- Rodzaje powłok systemu Linux 16
- Czym są skrypty powłoki bash? 17
- Hierarchia poleceń powłoki bash 18
Typy poleceń 18
Zmienna środowiskowa PATH 19
- Przygotowywanie edytorów tekstu do pisania skryptów 20
Konfigurowanie edytora vim 20
Konfigurowanie edytora nano 21
Konfigurowanie edytora gedit 21
- Tworzenie i wykonywanie skryptów 23
Witaj, świecie! 23
Wykonywanie skryptu 24
Sprawdzanie statusu wyjścia 25
Zapewnienie unikalnej nazwy 25
Witaj, Gandalf! 26
Wyświetlanie nazwy skryptu 29
- Deklarowanie zmiennych 30
Zmienne definiowane przez użytkownika 30
Zmienne środowiskowe 32
- Zasięg zmiennych 32
- Podstawianie wyników działania poleceń 33
- Debugowanie skryptów 34
- Podsumowanie 38
- Pytania 39
- Co dalej? 40
Rozdział 2. Tworzenie interaktywnych skryptów powłoki 41
- Wymagania techniczne 42
- Używanie polecenia echo wraz z opcjami 42
- Prosty skrypt wykorzystujący polecenie read 43
- Komentarze w skryptach 44
- Rozszerzanie funkcjonalności skryptów przy użyciu polecenia read 45
- Ograniczanie liczby maksymalnej wprowadzanych znaków 46
- Kontrolowanie widoczności wprowadzonego tekstu 46
- Przekazywanie opcji 47
Przekazywanie parametrów wraz z opcjami 49
Odczytywanie wartości opcji 50
- Staraj się używać standardowych rozwiązań 51
- Kilka prostych i funkcjonalnych skryptów 52
Tworzenie kopii zapasowych za pomocą skryptu 52
Połączenie z serwerem 53
Ping - skrypt 1. 54
SSH - skrypt 2. 54
MySQL/MariaDB - skrypt 3. 55
- Odczytywanie zawartości plików 56
- Podsumowanie 56
- Pytania 57
- Co dalej? 57
Rozdział 3. Instrukcje warunkowe 59
- Wymagania techniczne 59
- Proste ścieżki decyzyjne wykorzystujące listy poleceń 60
- Weryfikowanie danych wprowadzanych przez użytkownika 61
- Używanie wbudowanego polecenia test powłoki bash 62
Porównywanie ciągów znaków 63
Porównywanie liczb całkowitych 64
Testowanie typów plików 64
- Tworzenie instrukcji warunkowych z użyciem polecenia if 65
- Rozszerzanie polecenia if za pomocą słowa kluczowego else 67
- Używanie polecenia test z poleceniem if 68
Porównywanie ciągów znaków 68
Sprawdzanie plików i katalogów 70
Porównywanie wartości liczbowych 70
Łączenie testów 71
- Tworzenie dodatkowych warunków z użyciem klauzuli elif 72
Tworzenie skryptu backup2.sh wykorzystującego klauzule elif 73
- Używanie polecenia case 74
- Przykłady - budowanie interfejsu z użyciem polecenia grep 76
- Podsumowanie 77
- Pytania 78
- Co dalej? 79
Rozdział 4. Tworzenie wstawek kodu 81
- Wymagania techniczne 81
- Skróty 82
- Tworzenie i używanie wstawek kodu 83
Jak używać kolorów w oknie terminala? 84
- Tworzenie wstawek kodu z użyciem programu Visual Studio Code 86
- Podsumowanie 89
- Pytania 90
- Co dalej? 90
Rozdział 5. Składnia alternatywna 91
- Wymagania techniczne 91
- Polecenie test - drugie podejście 92
Sprawdzanie plików 92
Dodawanie logiki 92
Nawiasy kwadratowe, których nigdy wcześniej nie spotkałeś 92
- Definiowanie domyślnych wartości parametrów 94
Zmienne 94
Parametry specjalne 94
Definiowanie wartości domyślnych 95
- Masz wątpliwości? Cytuj! 96
- Zaawansowane testy z użyciem podwójnych nawiasów kwadratowych [[ ]] 98
Białe znaki 99
Inne zaawansowane funkcje 99
- Operacje arytmetyczne z użyciem podwójnych nawiasów okrągłych (( )) 101
Prosta matematyka 101
Operacje na parametrach 102
Standardowe testy arytmetyczne 102
- Podsumowanie 103
- Pytania 104
- Co dalej? 104
Rozdział 6. Praca z pętlami 105
- Wymagania techniczne 106
- Pętle for 106
- Zaawansowane pętle for 109
- IFS - wewnętrzne separatory pól 109
- Sprawdzanie zawartości katalogów i plików 111
- Pętle for w stylu języka C 112
- Pętle zagnieżdżone 112
- Przekierowywanie wyjścia pętli 113
Sterowanie działaniem pętli 113
- Pętle while i until 115
- Odczytywanie danych wejściowych z plików 116
- Tworzenie menu użytkownika 118
- Podsumowanie 120
- Pytania 121
- Co dalej? 122
Rozdział 7. Tworzenie bloków kodu przy użyciu funkcji 123
- Wymagania techniczne 124
- Wprowadzenie do funkcji 124
- Przekazywanie parametrów do funkcji 126
Przekazywanie tablic 130
- Zasięg zmiennych 131
- Zwracanie wyników działania funkcji 132
- Funkcje rekurencyjne 133
- Używanie funkcji w menu 134
- Podsumowanie 136
- Pytania 136
- Co dalej? 137
Rozdział 8. Edytor strumieniowy sed 139
- Wymagania techniczne 140
- Zastosowanie polecenia grep do wyświetlania tekstu 140
Wyświetlanie danych odebranych z interfejsu eth0 140
Wyświetlanie danych konta użytkownika 141
Wyświetlanie liczby procesorów w systemie 142
Parsowanie plików CSV 144
- Wprowadzenie do polecenia sed 147
Wyszukiwanie i zastępowanie wzorca 148
Globalna zamiana wszystkich wystąpień wzorca 149
Ograniczanie zamian wzorca 150
Edytowanie pliku 151
- Inne komendy polecenia sed 152
Usuwanie wierszy - komenda delete 152
Wstawianie i dołączanie tekstu - komendy insert i append 152
Modyfikacja tekstu - komenda change 153
Transformacja tekstu - komenda transform 153
- Używanie wielu komend w jednym poleceniu sed 154
- Podsumowanie 155
- Pytania 155
- Co dalej? 156
Rozdział 9. Automatyzacja hostów wirtualnych serwera Apache 157
- Wymagania techniczne 158
- Hosty wirtualne na serwerze Apache 158
Tworzenie szablonu konfiguracji hosta wirtualnego 159
Pierwsze kroki 159
Wybieranie wierszy 160
Pliki skryptów edytora sed 161
- Automatyzacja procesu tworzenia hosta wirtualnego 163
Pobieranie danych od użytkownika podczas tworzenia witryny 165
- Podsumowanie 168
- Pytania 168
- Co dalej? 168
Rozdział 10. Wprowadzenie do polecenia awk 169
- Wymagania techniczne 169
- Historia polecenia AWK 170
- Wyświetlanie i filtrowanie zawartości plików 171
- Zmienne w języku AWK 173
Zmienne definiowane przez użytkownika 176
- Instrukcje warunkowe 177
Polecenie if 177
Pętle while 178
Pętle for 179
- Formatowanie wyników 180
- Wyświetlanie wyników według identyfikatorów UID 182
- Skrypty w języku AWK 182
Wbudowane funkcje języka AWK 183
- Podsumowanie 184
- Pytania 184
- Co dalej? 185
Rozdział 11. Wyrażenia regularne 187
- Wymagania techniczne 187
- Silniki wyrażeń regularnych 187
- Definiowanie prostych wyrażeń regularnych (BRE) 188
Znaki zakotwiczenia reprezentujące początek lub koniec wiersza 189
Kropka 191
Klasy znaków 192
Zakresy znaków 193
Specjalne klasy znaków 194
Gwiazdka 195
- Definiowanie złożonych wyrażeń regularnych (ERE) 197
Znak zapytania 197
Znak plus 198
Nawiasy klamrowe 199
Znak potoku 200
Grupowanie wyrażeń 201
- Polecenie grep 202
- Podsumowanie 203
- Pytania 204
- Co dalej? 204
Rozdział 12. Analizowanie logów przy użyciu polecenia awk 205
- Wymagania techniczne 206
- Format pliku dziennika serwera Apache HTTPD 206
- Wyświetlanie danych z dzienników serwera WWW 207
Wybieranie wierszy według daty 207
Podsumowywanie błędów 404 209
Podsumowywanie kodów dostępu HTTP 209
Żądania dostępu do stron i zasobów 211
Identyfikowanie bezpośrednich łączy do obrazów (hotlinking) 212
- Wyświetlanie najczęściej powtarzających się adresów IP 213
- Wyświetlanie danych o przeglądarkach sieciowych 214
- Praca z dziennikami serwera poczty elektronicznej 214
- Podsumowanie 215
- Pytania 216
- Co dalej? 216
Rozdział 13. Analizowanie dziennika lastlog przy użyciu polecenia awk 217
- Wymagania techniczne 218
- Używanie wzorców do filtrowania danych 218
Polecenie lastlog 218
Filtrowanie wierszy za pomocą polecenia awk 219
Zliczanie pasujących wierszy 220
- Warunki oparte na liczbie pól 220
- Modyfikowanie separatora rekordów AWK do tworzenia raportów na bazie danych XML 222
Hosty wirtualne serwera Apache 222
Katalog XML 223
- Podsumowanie 225
- Pytania 225
- Co dalej? 226
Rozdział 14. Python jako alternatywny język dla skryptów powłoki bash 227
- Wymagania techniczne 228
- Czym jest Python? 228
- Program "Witaj, świecie!" w języku Python 231
- Argumenty wywołania programów w języku Python 231
- Przekazywanie argumentów wywołania 232
- Zliczanie argumentów 232
- Znaczące białe znaki 234
- Pobieranie danych wprowadzanych przez użytkownika 235
- Używanie języka Python do zapisywania danych w plikach 236
- Operowanie na ciągach znaków 236
- Podsumowanie 238
- Pytania 239
- Co dalej? 239
Odpowiedzi 241
Skorowidz 247
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.