Skrypty powłoki systemu Linux. Receptury. Wydanie III - ebook
Skrypty powłoki systemu Linux. Receptury. Wydanie III - ebook
Obecnie systemy uniksowe wyposaża się w intuicyjne GUI, a pojawiające się dystrybucje Linuksa stają się coraz łatwiejsze w obsłudze i administracji. Wciąż jednak jednym z najważniejszych narzędzi administratora i użytkownika systemu uniksowego pozostaje opracowana w zeszłym stuleciu powłoka Bourne, czyli bash. Umiejętność pisania i używania skryptów powłoki jest bezcenna: można w ten sposób automatyzować monotonne zadania, monitorować stan i działanie systemu, włączając w to identyfikację problematycznych procesów. Łatwiejsze też stają się operacje na plikach, optymalizacje wydajności czy dostosowanie systemu do specyficznych potrzeb.
Niniejsza książka przyda się zarówno użytkownikom, jak i administratorom systemów uniksowych. Znalazły się tu receptury opisujące wykonywanie prostych czynności, takich jak wyszukiwanie plików, a także złożonych zadań administracyjnych, w tym monitorowania i dostosowywania systemu, obsługi sieci, bezpieczeństwa i korzystania z chmury. Nie zabrakło receptur ułatwiających rozwiązywanie złożonych problemów, takich jak tworzenie kopii zapasowych, kontroli wersji i śledzenie pakietów, a także korzystanie z kontenerów, maszyn wirtualnych oraz chmury. Znalazły się tu także receptury przydatne dla programistów, którzy nauczą się analizy aplikacji systemowych i korzystać z takich narzędzi, jak git i fossil.
W tej książce:
- pisanie i debugowanie skryptów oraz konfigurowanie powłoki,
- sterowanie pracą skryptu i praca z plikami,
- rozwiązywanie problemów z aplikacjami internetowymi,
- kopie zapasowe, monitorowanie systemu i inne zadania administracyjne,
- analiza sieci i rozwiązywanie problemów z bezpieczeństwem,
- skrypty do korzystania z kontenerów, maszyn wirtualnych i chmury.
Skrypty powłoki - najlepsze wsparcie admina!
Clif Flynt ma kilkadziesiąt lat doświadczenia jako programista i administrator systemów Linux i Unix. Jego aplikacje były wykorzystywane m.in. przez Marynarkę Wojenną USA. W wolnym czasie gra na gitarze i bawi się z kotami swojej żony.
Sarath Lakshman jest programistą w firmie Zynga w Indiach. Entuzjasta systemu GNU/Linux, jest szeroko znany jako jeden z twórców dystrybucji SLYNUX. Jego pasją są skalowalne systemy rozproszone.
Shantanu Tushar jest programistą i uczestniczy w projektach związanych z oprogramowaniem KDE. Pracuje też nad projektami Calligra, Gluon i Plasma.
Spis treści
Przedmowa (13)
Rozdział 1. Poznanie możliwości powłoki (17)
- Wprowadzenie (18)
- Wyświetlanie w oknie terminalu (18)
- Używanie zmiennych i zmiennych środowiskowych (24)
- Funkcja dołączająca wartość na początku zmiennych środowiskowych (29)
- Wykonywanie obliczeń matematycznych za pomocą powłoki (30)
- Eksperymentowanie z deskryptorami plików i przekierowywaniem (32)
- Tablice zwykłe i tablice asocjacyjne (38)
- Korzystanie z aliasów (40)
- Uzyskiwanie informacji o terminalu (42)
- Uzyskiwanie i ustawianie dat oraz opóźnienia (43)
- Debugowanie skryptu (47)
- Funkcje i argumenty (49)
- Przekazywanie danych wyjściowych do drugiego polecenia (53)
- Odczytywanie n znaków bez naciskania klawisza Enter (55)
- Wykonywanie polecenia aż do osiągnięcia zamierzonego celu (56)
- Separatory pól i iteratory (58)
- Porównania i testy (60)
- Dostosowywanie powłoki za pomocą plików konfiguracyjnych (64)
Rozdział 2. Dobre polecenie (67)
- Wprowadzenie (68)
- Łączenie za pomocą polecenia cat (68)
- Rejestrowanie i odtwarzanie sesji terminalowych (71)
- Znajdowanie plików i wyświetlanie ich listy (72)
- Eksperymentowanie z poleceniem xargs (82)
- Przekształcanie za pomocą polecenia tr (88)
- Suma kontrolna i weryfikowanie (92)
- Narzędzia kryptograficzne i funkcje mieszające (97)
- Sortowanie, unikatowość i duplikaty (98)
- Liczby losowe i nadawanie nazw plikom tymczasowym (103)
- Podział plików i danych (104)
- Podział nazw plików na podstawie rozszerzenia (107)
- Zmiana nazw plików i przenoszenie ich w trybie wsadowym (110)
- Sprawdzanie pisowni i przetwarzanie słownika (112)
- Automatyzowanie interaktywnego wprowadzania danych (114)
- Przyspieszanie wykonywania poleceń poprzez uruchamianie procesów równoległych (117)
- Analizowanie katalogu oraz zawartych w nim plików i podkatalogów (119)
Rozdział 3. Plik na wejściu, plik na wyjściu (121)
- Wprowadzenie (122)
- Generowanie plików dowolnej wielkości (122)
- Część wspólna i różnica zbiorów (A-B) w przypadku plików tekstowych (124)
- Znajdowanie i usuwanie duplikatów plików (127)
- Uprawnienia plików, prawo właściciela pliku i bit lepkości (130)
- Zapewnianie niezmienności plików (135)
- Masowe generowanie pustych plików (136)
- Znajdowanie dowiązania symbolicznego i jego obiektu docelowego (137)
- Wyliczanie statystyk dotyczących typów plików (139)
- Korzystanie z plików pętli zwrotnej (141)
- Tworzenie plików ISO i hybrydowych plików ISO (145)
- Znajdowanie różnicy między plikami oraz stosowanie poprawek (148)
- Korzystanie z poleceń head i tail w celu wyświetlenia 10 pierwszych lub ostatnich wierszy (150)
- Wyświetlanie wyłącznie katalogów - inne metody (153)
- Szybka nawigacja na poziomie wiersza poleceń za pomocą poleceń pushd i popd (154)
- Określanie liczby wierszy, słów i znaków w pliku (155)
- Wyświetlanie drzewa katalogów (157)
- Przetwarzanie plików wideo i graficznych (158)
Rozdział 4. Przetwarzanie tekstu i sterowanie (163)
- Wprowadzenie (164)
- Używanie wyrażeń regularnych (164)
- Wyszukiwanie tekstu wewnątrz pliku za pomocą polecenia grep (169)
- Oparte na kolumnach wycinanie zawartości pliku za pomocą polecenia cut (175)
- Stosowanie polecenia sed w celu zastępowania tekstu (178)
- Korzystanie z polecenia awk w celu zaawansowanego przetwarzania tekstu (182)
- Częstość wystąpień słów używanych w danym pliku (188)
- Kompresowanie i dekompresowanie kodu JavaScript (190)
- Scalanie wielu plików jako kolumn (193)
- Wyświetlanie n-tego słowa lub n-tej kolumny pliku lub wiersza (194)
- Wyświetlanie tekstu między wierszami o określonych numerach lub między wzorcami (195)
- Wyświetlanie wierszy w odwrotnej kolejności (196)
- Analizowanie adresów e-mail i URL zawartych w tekście (197)
- Usuwanie z pliku zdania zawierającego dane słowo (199)
- Zastępowanie wzorca tekstem we wszystkich plikach znajdujących się w katalogu (200)
- Podział tekstu i operacje na parametrach (201)
Rozdział 5. Zagmatwany internet? Wcale nie! (203)
- Wprowadzenie (204)
- Pobieranie ze strony internetowej (204)
- Pobieranie strony internetowej jako zwykłego tekstu (207)
- Narzędzie cURL - wprowadzenie (208)
- Uzyskiwanie dostępu do nieprzeczytanych wiadomości e-mail usługi Gmail z poziomu wiersza poleceń (213)
- Analizowanie danych z witryny internetowej (215)
- Przeglądarka obrazów i narzędzie do ich pobierania (216)
- Generator internetowego albumu ze zdjęciami (219)
- Klient wiersza poleceń serwisu Twitter (221)
- Dostęp do definicji słów za pośrednictwem serwera sieci Web (224)
- Znajdowanie uszkodzonych łączy w witrynie internetowej (226)
- Śledzenie zmian w witrynie internetowej (228)
- Wysyłanie danych do strony internetowej i wczytywanie odpowiedzi (230)
- Pobieranie wideo z internetu (232)
- Tworzenie podsumowania tekstu za pomocą OTS (233)
- Tłumaczenie tekstu za pomocą wiersza poleceń (234)
Rozdział 6. Zarządzanie repozytorium (235)
- Wprowadzenie (236)
- Korzystanie z systemu Git (237)
- Tworzenie nowego repozytorium Git (237)
- Klonowanie zdalnego repozytorium Git (238)
- Dodawanie i zatwierdzanie zmian w repozytorium Git (238)
- Tworzenie i łączenie gałęzi w repozytorium Git (240)
- Udostępnienie swojej pracy (242)
- Przesyłanie gałęzi na serwer (244)
- Pobieranie najnowszej wersji kodu źródłowego do bieżącej gałęzi (244)
- Sprawdzanie stanu repozytorium Git (245)
- Wyświetlanie historii repozytorium Git (246)
- Znajdowanie błędów (247)
- Oznaczanie migawek znacznikami (248)
- Etyka komentarzy stosowanych podczas zatwierdzania kodu (250)
- Używanie narzędzia Fossil (250)
- Tworzenie nowego repozytorium Fossil (251)
- Klonowanie zdalnego repozytorium Fossil (253)
- Otwieranie projektu Fossil (253)
- Dodawanie i zatwierdzanie zmian za pomocą narzędzia Fossil (254)
- Używanie gałęzi i kopii projektu w repozytorium Fossil (255)
- Udostępnianie pracy za pomocą repozytorium Fossil (258)
- Aktualizowanie lokalnego repozytorium Fossil (258)
- Sprawdzanie stanu repozytorium Fossil (259)
- Wyświetlanie historii repozytorium Fossil (260)
Rozdział 7. Plan tworzenia kopii zapasowych (265)
- Wprowadzenie (265)
- Archiwizowanie za pomocą programu tar (266)
- Archiwizowanie za pomocą programu cpio (272)
- Kompresowanie za pomocą programu gunzip (gzip) (273)
- Archiwizowanie i kompresowanie za pomocą programu zip (277)
- Szybsze archiwizowanie za pomocą programu pbzip2 (278)
- Tworzenie systemów plików z kompresją (279)
- Tworzenie migawek kopii zapasowych za pomocą programu rsync (281)
- Archiwa różnicowe (284)
- Tworzenie obrazów całego dysku za pomocą programu fsarchiver (285)
Rozdział 8. Poczciwa sieć (289)
- Wprowadzenie (290)
- Konfigurowanie sieci (290)
- Używanie narzędzia ping (296)
- Śledzenie tras IP (300)
- Wyświetlanie wszystkich komputerów dostępnych w sieci (301)
- Uruchamianie poleceń na hoście zdalnym za pomocą narzędzia SSH (304)
- Uruchamianie poleceń graficznych na hoście zdalnym (307)
- Przesyłanie plików (308)
- Łączenie się z siecią bezprzewodową (311)
- Automatyczne logowanie protokołu SSH bez wymogu podania hasła (314)
- Przekazywanie portów za pomocą protokołu SSH (316)
- Podłączanie dysku zdalnego za pomocą lokalnego punktu podłączenia (317)
- Analiza ruchu sieciowego i portów (318)
- Pomiar przepustowości sieci (320)
- Tworzenie dowolnych gniazd (321)
- Tworzenie mostu (323)
- Udostępnianie połączenia z internetem (324)
- Tworzenie prostej zapory sieciowej za pomocą iptables (326)
- Tworzenie sieci typu Virtual Private Network (327)
Rozdział 9. Postaw na monitorowanie (335)
- Wprowadzenie (336)
- Monitorowanie wykorzystania przestrzeni dyskowej (336)
- Obliczanie czasu wykonywania polecenia (342)
- Informacje o zalogowanych użytkownikach, dziennikach rozruchu i niepowodzeniu rozruchu (345)
- Wyświetlanie 10 procesów zajmujących w ciągu godziny najwięcej czasu procesora (347)
- Monitorowanie danych wyjściowych poleceń za pomocą narzędzia watch (350)
- Rejestrowanie dostępu do plików i katalogów (351)
- Rejestrowanie za pomocą narzędzia syslog (352)
- Zarządzanie plikami dziennika za pomocą narzędzia logrotate (354)
- Monitorowanie logowania użytkowników w celu wykrycia intruzów (356)
- Monitorowanie poziomu wykorzystania przestrzeni dysków zdalnych (358)
- Określanie liczby godzin aktywności użytkownika w systemie (361)
- Pomiar i optymalizowanie aktywności dysku (363)
- Monitorowanie aktywności dysków (364)
- Sprawdzanie dysków i systemów plików pod kątem błędów (365)
- Analiza kondycji dysku (367)
- Uzyskiwanie statystyk dotyczących dysku (370)
Rozdział 10. Administrowanie (373)
- Wprowadzenie (373)
- Gromadzenie informacji o procesach (374)
- Objaśnienie narzędzi: which, whereis, whatis i file (380)
- Kończenie procesów oraz wysyłanie sygnałów i odpowiadanie na nie (383)
- Wysyłanie komunikatów do terminali użytkowników (386)
- System plików /proc (389)
- Gromadzenie informacji o systemie (390)
- Planowanie za pomocą programu cron (392)
- Rodzaje i sposoby użycia baz danych (396)
- Zapisywanie bazy danych SQLite i jej odczytywanie (398)
- Zapisywanie bazy danych MySQL i odczytywanie jej z poziomu powłoki Bash (400)
- Skrypt do zarządzania użytkownikami (405)
- Masowa zmiana wymiarów obrazów i konwersja formatów (409)
- Wykonywanie zrzutów ekranowych z poziomu okna terminalu (413)
- Zarządzanie wieloma terminalami za pomocą jednego z nich (414)
Rozdział 11. Podążanie za śladami (415)
- Wprowadzenie (415)
- Śledzenie pakietów za pomocą polecenia tcpdump (415)
- Znajdowanie pakietów za pomocą polecenia ngrep (419)
- Śledzenie tras sieciowych za pomocą polecenia ip (421)
- Śledzenie wywołań systemowych za pomocą polecenia strace (423)
- Śledzenie funkcji biblioteki dynamicznej za pomocą polecenia ltrace (427)
Rozdział 12. Dostosowywanie systemu Linux (431)
- Wprowadzenie (431)
- Identyfikowanie usług (433)
- Gromadzenie danych z gniazd za pomocą polecenia ss (437)
- Gromadzenie danych o operacjach wejścia-wyjścia w systemie za pomocą polecenia dstat (439)
- Identyfikowanie procesów nadmiernie wykorzystujących zasoby za pomocą polecenia pidstat (442)
- Dostosowywanie jądra systemu Linux za pomocą polecenia sysctl (443)
- Dostosowywanie systemu Linux za pomocą plików konfiguracyjnych (445)
- Zmiana priorytetu zarządcy procesów za pomocą polecenia nice (446)
Rozdział 13. Kontenery, maszyny wirtualne i chmura (449)
- Wprowadzenie (449)
- Używanie kontenerów systemu Linux (450)
- Stosowanie Dockera (459)
- Używanie maszyn wirtualnych w systemie Linux (463)
- Linux w chmurze (464)
Skorowidz (471)
Kategoria: | Systemy operacyjne |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-4032-9 |
Rozmiar pliku: | 3,6 MB |