Skrypty powłoki systemu Linux Zagadnienia zaawansowane W II Żerków

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 …

od 45,99 zł Najbliżej: 49 km

Liczba ofert: 1

Oferta sklepu

Opis

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! 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

Specyfikacja

Podstawowe informacje

Autor
  • Mokhtar Ebrahim, Andrew Mallett
Wydawnictwo
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2019
Ilość stron
  • 256
Tematyka
  • Systemy operacyjne
ISBN
  • 9788328350700
Model
  • miękka