Szczegóły ebooka
Linux. Zostań mistrzem skryptów powłoki. Najlepszy przewodnik, z którym zoptymalizujesz, zautomatyzujesz i usprawnisz każde zadanie
Donald A. Tevault
Wiele zadań administracyjnych w Linuksie można wykonać, korzystając z graficznego interfejsu użytkownika. Jednak prawdziwą moc swojego systemu uwolnisz za pomocą skryptów wiersza poleceń i powłoki. W ten sposób możesz efektywnie automatyzować powtarzalne zadania, precyzyjnie skonfigurować system, a także zapewnić wysoki stopień bezpieczeństwa.
Ta praktyczna książka świetnie posłuży początkującym i bardziej zaawansowanym administratorom Linuksa. Będzie też pomocna w przygotowaniu się do egzaminu CompTIA Linux+ / Linux Professional Institute. Rozpoczniesz od podstaw korzystania z powłoki, aby w kolejnych rozdziałach przejść do bardziej zaawansowanych koncepcji. Zobaczysz, jak tworzyć skrypty automatyzujące powtarzalne zadania administracyjne, a także wiele innych przydatnych rozwiązań. W książce znajdziesz również praktyczne, gotowe do użycia skrypty. Zostały one opracowane w taki sposób, by ułatwić zarządzanie systemem, wspomagać naukę omawianych koncepcji i pomagać podczas rozwiązywania problemów. Przede wszystkim skoncentrujesz się na powłoce bash, ale zapoznasz się również z powłoką Zsh i PowerShell.
W książce:
- koncepcja powłoki i różne rodzaje powłok
- przekierowanie, potok i polecenia złożone
- filtry strumieni tekstowych i dynamiczne przetwarzanie danych
- funkcje, biblioteki i tworzenie modułowych skryptów powłoki
- struktura przenośnych skryptów powłoki
Poświęć skryptowi minutę, a zaoszczędzisz godziny!
O korektorze merytorycznym
Wprowadzenie
Rozdział 1. Rozpoczęcie pracy z powłoką
- Czym jest powłoka systemowa?
- Jak znaleźć pomoc dotyczącą poleceń powłoki?
- Jak korzystać ze stron podręcznika systemowego?
- Jak korzystać z systemu stron info?
- Projekt dokumentacji Linuksa
- Korzystanie z ulubionej wyszukiwarki internetowej
- Tworzenie skryptów powłoki za pomocą edytora tekstu
- Edytory tekstowe
- Edytory tekstu wyposażone w interfejs graficzny
- Kompilowane i interpretowane języki programowania
- Uprawnienia administratora i mechanizm sudo
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 2. Interpretowanie poleceń
- Struktura polecenia
- Korzystanie z opcji poleceń
- Korzystanie z argumentów powłoki
- Jednoczesne wykonywanie wielu poleceń
- Interaktywne wykonywanie poleceń
- Korzystanie z sekwencji poleceń
- Używanie narzędzia find
- Wykonywanie wielu operacji za pomocą polecenia find
- Rekurencyjne wykonywanie poleceń
- Ćwiczenie praktyczne - rekurencyjne wykonywanie poleceń
- Korzystanie z historii poleceń
- Znaki sterujące i znaki cytowania
- Używanie znaków sterujących
- Używanie znaków cytowania
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 3. Zmienne i potoki
- Zmienne środowiskowe
- Zmienne programistyczne
- Potoki
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 4. Przekierowanie wejścia-wyjścia
- Wprowadzenie do przekierowania wejścia-wyjścia
- Standardowy strumień wyjścia
- Zapobieganie nadpisywaniu pliku
- Używanie deskryptora pliku
- Standardowy strumień wejścia
- Standardowy strumień błędów
- Polecenie tee
- Ćwiczenie praktyczne - potoki, przekierowania i wyszukiwanie plików
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 5. Dostosowywanie środowiska do własnych potrzeb
- Wymagania techniczne
- Przegląd zmiennych środowiskowych
- Sesje powłoki
- Pliki konfiguracyjne powłoki
- Globalne pliki konfiguracyjne w Fedorze
- Pliki konfiguracyjne użytkowników w systemie Fedora
- Globalne pliki konfiguracyjne w systemie Debian
- Pliki konfiguracyjne użytkowników w systemie Debian
- Określanie edytora domyślnego w systemie Debian
- Ustawianie opcji powłoki z poziomu wiersza poleceń
- Aliasy
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 6. Filtry strumieni tekstowych - część 1
- Wymagania techniczne
- Wprowadzenie do filtrów strumieni tekstowych
- Używanie polecenia cat
- Używanie polecenia tac
- Używanie polecenia cut
- Używanie polecenia paste
- Używanie polecenia join
- Używanie polecenia sort
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 7. Filtry strumieni tekstowych - część 2
- Wymagania techniczne
- Używanie polecenia expand
- Używanie polecenia unexpand
- Używanie polecenia nl
- Używanie polecenia head
- Używanie polecenia tail
- Używanie poleceń head i tail razem
- Używanie polecenia od
- Używanie polecenia uniq
- Używanie polecenia wc
- Używanie polecenia fmt
- Używanie polecenia split
- Używanie polecenia tr
- Używanie polecenia xargs
- Używanie polecenia pr
- Drukowanie z poziomu powłoki
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 8. Podstawowa konstrukcja skryptu powłoki
- Wymagania techniczne
- Podstawy konstrukcji skryptów powłoki
- Ćwiczenie praktyczne - zliczanie zalogowanych użytkowników
- Wykonywanie testów
- Używanie słowa kluczowego test
- Umieszczanie warunku testowego w nawiasie kwadratowym
- Używanie konstrukcji warunkowej if-then
- Używanie innych rodzajów testów
- Podpowłoka
- Ćwiczenie praktyczne - testowanie warunków
- Zmienne w skryptach
- Tworzenie i usuwanie zmiennych
- Zmienne i poziomy powłoki
- Rozróżnianie wielkości liter
- Zmienne tylko do odczytu
- Tablice
- Ćwiczenia praktyczne - praca z tablicami
- Rozwijanie zmiennych
- Przypisywanie wartości do niezainicjalizowanej zmiennej
- Przypisywanie wartości do zmiennej zbioru
- Przypisywanie wartości zmiennej
- Wyświetlanie komunikatu błędu
- Używanie przesunięć zmiennych
- Dopasowanie wzorca
- Podstawianie poleceń
- Konstrukcje warunkowe i pętle
- Konstrukcja warunkowa if-then
- Konstrukcja do-while
- Konstrukcja for-in
- Konstrukcja for
- Polecenie break
- Polecenie continue
- Konstrukcja until
- Konstrukcja case
- Używanie parametrów pozycyjnych
- Kody wyjścia
- Standardowe kody wyjścia powłoki
- Kody wyjścia zdefiniowane przez użytkownika
- Więcej informacji o poleceniu echo
- Kilka rzeczywistych przykładów omówionych technik
- Ćwiczenie praktyczne - stosowanie konstrukcji if-then
- Ćwiczenie praktyczne - analiza dziennika dostępu serwera Apache
- Ćwiczenie praktyczne - testy beta nowego dysku twardego
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 9. Filtrowanie tekstu za pomocą grep, sed i wyrażeń regularnych
- Wymagania techniczne
- Wyrażenia regularne
- Literały i metaznaki
- Narzędzie sed
- Problemy z przenośnością narzędzia sed
- Zastępowanie tekstu za pomocą narzędzia sed
- Usuwanie tekstu za pomocą narzędzia sed
- Dodawanie i wstawianie tekstu za pomocą narzędzia sed
- Modyfikowanie tekstu za pomocą narzędzia sed
- Inne przydatne sztuczki z narzędziem sed
- Używanie plików programu narzędzia sed
- Złożone skrypty w plikach programów narzędzia sed
- Używanie narzędzia sed w skryptach powłoki
- Narzędzie grep
- Podstawowe wyszukiwanie za pomocą polecenia grep
- Zaawansowane wyszukiwanie za pomocą narzędzia grep
- Jeszcze bardziej zaawansowane wyszukiwanie za pomocą narzędzia grep
- Zaawansowane wyrażenia regularne w narzędziu grep
- Używanie wyrażeń regularnych ze stałymi ciągami tekstowymi w narzędziu grep
- Używanie narzędzi wspomagających pracę z wyrażeniami regularnymi
- RegexBuddy i RegexMagic
- Regex101
- Wybrane przykłady ze świata rzeczywistego
- Jednoczesna modyfikacja wielu plików
- Analiza dzienników zdarzeń serwera Apache pod kątem ataków typu cross-site scripting
- Automatyzacja instalacji repozytoriów zewnętrznych
- Uzupełnianie pustych pól w pliku CSV
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 10. Funkcje
- Wymagania techniczne
- Wprowadzenie do funkcji
- Definiowanie funkcji
- Używanie funkcji w skryptach powłoki
- Tworzenie i wywoływanie funkcji
- Przekazywanie parametrów pozycyjnych do funkcji
- Przekazywanie wartości z funkcji
- Tworzenie bibliotek funkcji
- Rzeczywiste przykłady zastosowania funkcji
- Sprawdzanie połączenia sieciowego
- Korzystanie z API CoinGecko
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 11. Wykonywanie operacji matematycznych
- Wymagania techniczne
- Wykonywanie obliczeń na liczbach całkowitych za pomocą wyrażeń
- Używanie polecenia expr
- Używanie polecenia echo z wyrażeniami matematycznymi
- Wykonywanie obliczeń na liczbach całkowitych przy użyciu zmiennych
- Wykonywanie operacji matematycznych na liczbach zmiennoprzecinkowych za pomocą narzędzia bc
- Używanie programu bc w trybie interaktywnym
- Używanie plików programu bc
- Używanie programu bc w skryptach powłoki
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 12. Automatyzacja skryptów za pomocą składni here document i narzędzia expect
- Wymagania techniczne
- Używanie składni here document
- Używanie składni here document w połączeniu z danymi statycznymi
- Używanie składni here document w połączeniu z danymi dynamicznymi
- Wykorzystanie funkcji w składni here document
- Automatyzacja odpowiedzi za pomocą narzędzia expect
- Kwestie bezpieczeństwa związane z narzędziem expect
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 13. Używanie ImageMagick w skryptach
- Wymagania techniczne
- Konwersja niestandardowych rozszerzeń plików
- Instalacja ImageMagick
- Wyświetlanie obrazów
- Przeglądanie właściwości obrazu
- Zmiana wielkości obrazu i dostosowywanie go do własnych potrzeb
- Przetwarzanie wsadowe plików graficznych
- Korzystanie ze skryptów Freda przeznaczonych dla programu ImageMagick
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 14. Używanie języka AWK - część 1
- Wprowadzenie do języka AWK
- Omówienie wzorców i działań
- Pobieranie danych wejściowych z plików tekstowych
- Wyszukiwanie użytkowników
- Analiza dzienników dostępu do serwera WWW
- Używanie wyrażeń regularnych
- Pobieranie danych wejściowych z poleceń
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 15. Używanie języka AWK - część 2
- Wymagania techniczne
- Podstawowa struktura skryptu AWK
- Używanie konstrukcji warunkowych
- Używanie pętli while i deklarowanie zmiennych
- Sumowanie liczb w wierszu
- Określanie generacji procesora
- Używanie pętli for i tablic
- Wykorzystanie arytmetyki zmiennoprzecinkowej i funkcji printf
- Praca z rekordami wielowierszowymi
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 16. Tworzenie interfejsów użytkownika za pomocą narzędzi yad, dialog i xdialog
- Wymagania techniczne
- Tworzenie graficznego interfejsu użytkownika za pomocą narzędzia yad
- Podstawy pracy z narzędziem yad
- Tworzenie formularzy do wprowadzania danych
- Tworzenie rozwijanej listy
- Używanie menedżera plików narzędzia yad
- Programowanie przycisków formularza
- Kilka końcowych przemyśleń na temat narzędzia yad
- Tworzenie interfejsów użytkownika za pomocą narzędzi dialog i xdialog
- Podstawy pracy z narzędziem dialog
- Podstawy pracy z narzędziem xdialog
- Automatyczny wybór między narzędziami dialog i xdialog
- Dodawanie widżetów
- Tworzenie interfejsu logowania poprzez SSH
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 17. Używanie opcji skryptów powłoki za pomocą getopts
- Wymagania techniczne
- Wyjaśnienie potrzeby użycia polecenia getopts
- Porównanie poleceń getopt i getopts
- Używanie getopts
- Analiza rzeczywistych przykładów
- Zmodyfikowana wersja skryptu dla API Coingecko
- Skrypt monitorujący Tecmint
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 18. Skrypty powłoki dla specjalistów ds. bezpieczeństwa
- Wymagania techniczne
- Proste skrypty do przeprowadzania audytu
- Identyfikacja systemu operacyjnego
- Prosty skrypt do skanowania portów
- Kontrola konta użytkownika root
- Tworzenie skryptu monitorującego aktywność użytkownika
- Tworzenie prostych skryptów zapory sieciowej
- Tworzenie skryptu blokującego adresy IP w dystrybucji Red Hat
- Wyszukiwanie istniejących skryptów związanych z bezpieczeństwem
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 19. Przenośne skrypty powłoki
- Wymagania techniczne
- Uruchamianie powłoki bash w systemach innych niż Linux
- Konfiguracja środowiska powłoki bash za pomocą env
- Tworzenie dowiązania symbolicznego do powłoki bash
- Zgodność ze standardem POSIX
- Różnice między powłokami
- Specyficzne cechy powłoki bash
- Korzystanie z testów przenośnych
- Tworzenie przenośnych tablic
- Problemy z przenośnością polecenia echo
- Testowanie skryptów pod kątem zgodności ze standardem POSIX
- Tworzenie skryptów w powłoce zgodnej z POSIX
- Używanie narzędzia checkbashisms
- Używanie narzędzia shellcheck
- Używanie narzędzia shall
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 20. Bezpieczeństwo skryptów powłoki
- Wymagania techniczne
- Zarządzanie dostępem do skryptów
- Nadawanie uprawnień administratora
- Używanie listy kontroli dostępu
- Zaciemnianie skryptów zapisanych w postaci zwykłego tekstu
- Deszyfrowanie plików binarnych utworzonych za pomocą narzędzia shc
- Kwestie związane z SUID i SGID
- Unikanie wycieków danych wrażliwych
- Zabezpieczanie plików tymczasowych
- Używanie haseł w skryptach powłoki
- Wstrzykiwanie poleceń przy użyciu funkcji eval
- Używanie funkcji eval w wierszu poleceń
- Bezpieczny sposób używania funkcji eval
- Niebezpieczny sposób używania funkcji eval
- Alternatywy dla funkcji eval
- Kwestie związane z bezpieczeństwem ścieżek dostępu
- Scenariusz ataku 1. Przejęcie konta użytkownika
- Scenariusz ataku 2. Inżynieria społeczna
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 21. Debugowanie skryptów powłoki
- Wymagania techniczne
- Typowe błędy popełniane w skryptach
- Za mało znaków cudzysłowu
- Tworzenie pętli działającej w nieskończoność
- Korzystanie z technik i narzędzi przeznaczonych do debugowania skryptów powłoki
- Używanie polecenia echo
- Wykorzystanie narzędzia xtrace podczas debugowania
- Sprawdzanie pod kątem niezdefiniowanych zmiennych
- Sprawdzanie błędów za pomocą opcji -e
- Korzystanie z debuggera powłoki bash
- Debugowanie skryptu za pomocą bashdb
- Uzyskiwanie pomocy w narzędziu bashdb
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 22. Wprowadzenie do skryptów powłoki Z
- Wymagania techniczne
- Wprowadzenie do powłoki zsh
- Instalacja zsh
- Unikalne cechy skryptów powłoki zsh
- Różnice w rozwijaniu zmiennych
- Tablice w zsh
- Rozszerzone możliwości matematyczne
- Korzystanie z modułów zsh
- Używanie modułu mathfunc
- Moduł datetime
- Podsumowanie
- Pytania
- Lektura uzupełniająca
- Odpowiedzi
Rozdział 23. Używanie powłoki PowerShell w Linuksie
- Wymagania techniczne
- Instalacja powłoki PowerShell w systemach Linux i macOS
- Instalacja powłoki PowerShell w Linuksie za pomocą pakietu snap
- Instalacja powłoki PowerShell w Fedorze
- Instalacja powłoki PowerShell w macOS-ie
- Uruchamianie powłoki PowerShell
- Powody, dla których administratorzy systemów Linux i macOS powinni poznać powłokę PowerShell
- Praca w środowiskach z różnymi systemami operacyjnymi
- Polecenia powłoki PowerShell mogą być prostsze
- Rozszerzone wbudowane funkcje matematyczne
- Różnice między skryptami PowerShell a tradycyjnymi skryptami w systemach Linux oraz Unix
- Korzystanie z rozszerzeń plików i uprawnień do wykonywania
- Powłoka PowerShell jest zorientowana obiektowo
- PowerShell korzysta z poleceń cmdlet
- Korzystanie z aliasów powłoki PowerShell
- Przegląd dostępnych poleceń PowerShell
- Uzyskiwanie pomocy dotyczącej poleceń powłoki PowerShell
- Przykłady praktyczne skryptów powłoki PowerShell, które działają na różnych platformach
- Skrypt write-marquee.ps1
- Skrypt check-cpu.ps1
- Podsumowanie
- Lektura uzupełniająca
Skorowidz
- Tytuł:Linux. Zostań mistrzem skryptów powłoki. Najlepszy przewodnik, z którym zoptymalizujesz, zautomatyzujesz i usprawnisz każde zadanie
- Autor:Donald A. Tevault
- Tytuł oryginału:The Ultimate Linux Shell Scripting Guide: Automate, Optimize, and Empower tasks with Linux Shell Scripting
- Tłumaczenie:Robert Górczyński
- ISBN:978-83-289-3176-3, 9788328931763
- Data wydania:2026-02-04
- Format:Ebook
- Identyfikator pozycji: lizomi
- Wydawca: Helion