POLISH

Bash receptury

Book information

ISBN
9788324659746, 8324659749
Language
polish
Format
PDF
Filesize
12 MB (12985131 bytes)
Pages
\624
Time added
2023-06-20 03:55:48

Description

Spis treści Przedmowa Dla kogo przeznaczona jest ta książka? O książce Konwencje typograficzne Wykorzystanie przykładów kodu Podziękowania 1. Wprowadzenie do pracy z powłoką bash 1.1. Rozszyfrowanie znaku zachęty 1.2. Ustalenie katalogu bieżącego 1.3. Wyszukiwanie i wykonywanie poleceń 1.4. Uzyskiwanie informacji na temat plików 1.5. Wyświetlenie plików ukrytych z bieżącego katalogu 1.6. Cudzysłowy i apostrofy w instrukcjach powłoki 1.7. Wykorzystywanie i zastępowanie poleceń wbudowanych i zewnętrznych 1.8. Sprawdzenie, czy powłoka pracuje w trybie interaktywnym 1.9. Ustawienie interpretera bash jako domyślnej powłoki 1.10. Pobranie interpretera bash dla systemu Linux 1.11. Pobranie interpretera bash dla systemu BSD 1.12. Pobranie interpretera bash dla systemu Mac OS X 1.13. Pobranie interpretera bash dla systemu Unix 1.14. Pobranie interpretera bash dla systemu Windows 1.15. Korzystanie z powłoki bash bez jej pobierania 1.16. Dodatkowa dokumentacja powłoki bash 2. Standardowy strumień wyjściowy 2.1. Przekazywanie danych wyjściowych do okna terminala 2.2. Wyświetlanie tekstu z zachowaniem znaków spacji 2.3. Formatowanie danych wyjściowych 2.4. Wyświetlanie wyniku bez znaku nowego wiersza 2.5. Zapisywanie danych wyjściowych polecenia 2.6. Zapisywanie wyniku w plikach innych katalogów 2.7. Zapisywanie wyniku polecenia ls 2.8. Przekazanie danych wyjściowych i komunikatów o błędach do różnych plików 2.9. Przekazanie danych wyjściowych i komunikatów o błędach do tego samego pliku 2.10. Dodawanie danych wyjściowych zamiast nadpisywania ich 2.11. Wykorzystanie jedynie początkowego lub końcowego fragmentu pliku 2.12. Pomijanie nagłówka pliku 2.13. Odrzucanie danych wyjściowych 2.14. Zapisywanie i grupowanie danych wyjściowych większej liczby poleceń 2.15. Łączenie dwóch programów przez wykorzystanie danych wyjściowych jako wejściowych 2.16. Zapisywanie kopii danych wyjściowych mimo wykorzystywania ich jako danych wejściowych 2.17. Łączenie dwóch programów z wykorzystaniem danych wyjściowych jako parametrów 2.18. Wielokrotne przekierowania w jednym wierszu 2.19. Zapisywanie danych wyjściowych, gdy wydaje się, że przekierowanie nie działa 2.20. Zamiana strumieni STDERR i STDOUT 2.21. Zabezpieczanie pliku przed przypadkowym nadpisaniem 2.22. Celowe nadpisanie pliku 3. Standardowy strumień wejściowy 3.1. Pobieranie danych wejściowych z pliku 3.2. Umieszczenie danych w skrypcie 3.3. Wyeliminowanie nietypowego działania osadzonych dokumentów 3.4. Wcinanie osadzonych dokumentów 3.5. Pobieranie danych od użytkownika 3.6. Wprowadzanie odpowiedzi typu tak-nie 3.7. Wybór opcji z listy 3.8. Wprowadzanie haseł 4. Wykonywanie poleceń 4.1. Uruchamianie pliku wykonywalnego 4.2. Sprawdzenie, czy polecenie zostało wykonane poprawnie 4.3. Sekwencyjne wykonanie kilku poleceń 4.4. Jednoczesne wykonanie kilku poleceń 4.5. Ustalenie poprawności wykonania polecenia 4.6. Zmniejszenie liczby instrukcji if 4.7. Wykonywanie poleceń bez nadzoru 4.8. Wyświetlenie komunikatów o błędach 4.9. Wykonywanie poleceń zapisanych w zmiennych 4.10. Uruchomienie wszystkich skryptów w katalogu 5. Podstawy tworzenia skryptów — zmienne powłoki 5.1. Dokumentowanie skryptu 5.2. Osadzanie dokumentacji w treści skryptu 5.3. Zachowanie czytelności skryptu 5.4. Oddzielenie nazw zmiennych od otaczającego je tekstu 5.5. Eksportowanie zmiennych 5.6. Wyświetlanie wartości wszystkich zmiennych 5.7. Wykorzystanie parametrów w skryptach powłoki 5.8. Iteracyjna analiza parametrów przekazanych do skryptu 5.9. Obsługa parametrów zawierających znaki spacji 5.10. Przetwarzanie listy parametrów zawierających znaki spacji 5.11. Zliczanie parametrów 5.12. Wykorzystanie parametrów 5.13. Pobieranie wartości domyślnych 5.14. Ustawianie wartości domyślnych 5.15. Wykorzystanie pustego ciągu tekstowego jako poprawnej wartości domyślnej 5.16. Wykorzystanie wartości innych niż stały ciąg tekstowy jako wartości domyślnych 5.17. Generowanie komunikatów o błędach w przypadku niezdefiniowania parametrów 5.18. Modyfikacja fragmentów ciągu tekstowego 5.19. Wykorzystanie zmiennych tablicowych 6. Logika i arytmetyka powłoki 6.1. Wykonywanie działań arytmetycznych w skrypcie powłoki 6.2. Rozgałęzianie kodu w instrukcjach warunkowych 6.3. Sprawdzanie właściwości plików 6.4. Sprawdzanie więcej niż jednego warunku 6.5. Sprawdzanie właściwości ciągów tekstowych 6.6. Sprawdzanie równości dwóch wartości 6.7. Sprawdzanie zgodności wartości ze wzorcem 6.8. Sprawdzanie wartości z użyciem wyrażeń regularnych 6.9. Zmiana sposobu działania skryptu w zależności od rodzaju przekierowania danych 6.10. Pętla while 6.11. Pętla z wykorzystaniem instrukcji read 6.12. Pętla ze zliczaniem iteracji 6.13. Pętla z wykorzystaniem wartości zmiennoprzecinkowych 6.14. Wielokrotne rozgałęzianie kodu 6.15. Przetwarzanie parametrów wiersza polecenia 6.16. Utworzenie prostego menu 6.17. Zmiana znaku zachęty w tekstowym menu 6.18. Kalkulator wykorzystujący notację RPN 6.19. Kalkulator obsługiwany z poziomu wiersza poleceń 7. Dodatkowe narzędzia powłoki I 7.1. Wyszukiwanie określonego ciągu w pliku tekstowym 7.2. Wyświetlenie jedynie nazwy pliku zawierającego poszukiwany ciąg tekstowy 7.3. Zakończenie wyszukiwania wynikiem typu „prawda - fałsz” 7.4. Wyszukiwanie ciągu tekstowego niezależnie od wielkości liter 7.5. Przeszukiwanie danych przekazywanych w potoku 7.6. Odrzucenie niepotrzebnych danych z procedury wyszukiwania 7.7. Wyszukiwanie z użyciem bardziej rozbudowanych wzorców 7.8. Wyszukiwanie numeru NIP 7.9. Wykorzystanie polecenia grep do wyszukiwania informacji w zarchiwizowanych plikach 7.10. Zachowanie części listingu wynikowego 7.11. Zachowanie fragmentu wiersza wynikowego 7.12. Odwrócenie kolejności słów w każdym wierszu 7.13. Sumowanie zbioru wartości 7.14. Zliczanie wartości tekstowych 7.15. Wyświetlanie danych w formie histogramu 7.16. Wyświetlenie fragmentu tekstu występującego za wyszukaną frazą 8. Dodatkowe narzędzia powłoki II 8.1. Sortowanie danych wyjściowych 8.2. Sortowanie wartości liczbowych 8.3. Sortowanie adresów IP 8.4. Wycinanie fragmentów listingu wynikowego 8.5. Usuwanie zduplikowanych wierszy 8.6. Kompresja plików 8.7. Rozpakowywanie plików 8.8. Sprawdzenie docelowego katalogu dla plików archiwum 8.9. Zamiana znaków 8.10. Zamiana dużych liter na małe 8.11. Konwersja plików DOS do formatu systemu Linux 8.12. Usuwanie cudzysłowów drukarskich 8.13. Zliczanie wierszy, słów i znaków pliku 8.14. Zmiana podziału wierszy 8.15. Dodatkowe funkcje polecenia less 9. Wyszukiwanie plików — polecenia find, locate, slocate 9.1. Wyszukiwanie wszystkich plików MP3 9.2. Przetwarzanie nazw plików zawierających niestandardowe znaki 9.3. Zwiększenie szybkości przetwarzania wyszukanych plików 9.4. Wyszukiwanie plików wskazywanych przez dowiązania symboliczne 9.5. Wyszukiwanie plików bez względu na wielkość liter występujących w nazwach 9.6. Wyszukiwanie plików na podstawie daty 9.7. Wyszukiwanie plików określonego typu 9.8. Wyszukiwanie plików o określonym rozmiarze 9.9. Wyszukiwanie plików o określonej treści 9.10. Szybkie wyszukiwanie plików i ich treści 9.11. Wyszukiwanie plików z wykorzystaniem listy potencjalnych lokalizacji 10. Dodatkowe mechanizmy skryptowe 10.1. „Demonizowanie” skryptu 10.2. Wielokrotne wykorzystanie kodu — polecenia include i source 10.3. Wykorzystanie skryptów konfiguracyjnych w skrypcie 10.4. Definiowanie funkcji 10.5. Wykorzystanie funkcji. Parametry i zwracane wartości 10.6. Przechwytywanie przerwań 10.7. Zmiana definicji poleceń za pomocą aliasów 10.8. Pomijanie aliasów i funkcji 11. Przetwarzanie informacji o dacie i czasie 11.1. Formatowanie dat podczas wyświetlania 11.2. Dostarczanie domyślnej wartości daty 11.3. Automatyczne generowanie dat z określonego zakresu 11.4. Przekształcenie daty i czasu w znacznik czasu 11.5. Przekształcanie znaczników czasu w ciągi dat i czasu 11.6. Pobranie daty poprzedniego lub kolejnego dnia w języku Perl 11.7. Obliczanie daty i czasu 11.8. Obsługa stref czasowych, czasu letniego oraz lat przestępnych 11.9. Wykorzystanie polecenia date i mechanizmu cron do uruchomienia skryptu w wybranym dniu 12. Skrypty usprawniające pracę użytkownika 12.1. Na początek coś łatwego — wyświetlanie myślników 12.2. Przeglądanie albumu ze zdjęciami 12.3. Zapis danych w odtwarzaczu MP3 12.4. Nagrywanie płyt CD 12.5. Porównywanie dwóch dokumentów 13. Interpretacja danych i podobne zadania 13.1. Przetwarzanie parametrów skryptu powłoki 13.2. Przetwarzanie parametrów z własnymi komunikatami o błędach 13.3. Interpretacja kodu HTML 13.4. Zapisywanie danych wynikowych w tablicy 13.5. Pobieranie danych wynikowych z wykorzystaniem wywołania funkcji 13.6. Interpretacja tekstu z wykorzystaniem instrukcji read 13.7. Zapisywanie danych w tablicy za pomocą instrukcji read 13.8. Liczba mnoga angielskich rzeczowników 13.9. Przetwarzanie danych znak po znaku 13.10. Wyczyszczenie drzewa kodu źródłowego w systemie SVN 13.11. Utworzenie bazy danych MySQL 13.12. Wyodrębnianie określonych pól listingu danych 13.13. Modyfikacja określonych pól listingu danych 13.14. Usuwanie krańcowych znaków odstępu 13.15. Kompresowanie znaków odstępu 13.16. Przetwarzanie pól o stałej długości 13.17. Przetwarzanie plików niezawierających znaków nowego wiersza 13.18. Zapis pliku danych w formacie CSV 13.19. Przetwarzanie plików z danymi CSV 14. Bezpieczne skrypty powłoki 14.1. Unikanie częstych problemów związanych z bezpieczeństwem 14.2. Unikanie spoofingu w pracy interpretera 14.3. Wyznaczanie bezpiecznej wartości $PATH 14.4. Usuwanie wszystkich aliasów 14.5. Czyszczenie tablicy odwzorowań plików wykonywalnych 14.6. Zapobieganie zrzutom pamięci 14.7. Wyznaczenie bezpiecznej wartości $IFS 14.8. Wyznaczanie bezpiecznej wartości umask 14.9. Wyszukiwanie w zmiennej $PATH katalogów umożliwiających modyfikowanie zawartości 14.10. Dodawanie bieżącego katalogu do listy $PATH 14.11. Bezpieczne pliki tymczasowe 14.12. Walidacja wprowadzanych danych 14.13. Definiowanie praw dostępu 14.14. Ujawnienie haseł na liście procesów 14.15. Tworzenie skryptów z prawami setuid i setgid 14.16. Ograniczenie praw konta gościa 14.17. Wykorzystanie środowiska chroot 14.18. Wykonywanie skryptu z prawami zwykłego użytkownika 14.19. Bezpieczne wykorzystanie mechanizmu sudo 14.20. Wykorzystanie haseł w skryptach 14.21. Wykorzystanie usługi SSH bez hasła 14.22. Ograniczenie liczby poleceń SSH 14.23. Rozłączanie nieaktywnych sesji 15. Zaawansowane mechanizmy skryptowe 15.1. Przenośność skryptu — problem wiersza #! 15.2. Ustawianie zmiennej $PATH zgodnie z zaleceniami POSIX 15.3. Tworzenie przenośnych skryptów powłoki 15.4. Testowanie skryptów w środowisku VMware 15.5. Przenośność kodu pętli 15.6. Przenośność instrukcji echo 15.7. Dzielenie danych wyjściowych tylko wtedy, gdy jest to konieczne 15.8. Przeglądanie danych wynikowych w formacie szesnastkowym 15.9. Wykorzystanie mechanizmów przekierowania sieciowego 15.10. Ustalenie własnych adresów IP 15.11. Pobieranie danych z innego komputera 15.12. Przekierowanie wyjścia na czas działania skryptu 15.13. Eliminacja błędów typu „argument list too long” 15.14. Wysyłanie komunikatów syslog z poziomu skryptu 15.15. Wysyłanie wiadomości e-mail ze skryptu 15.16. Automatyzacja zadań z wykorzystaniem podziału procesu na etapy 16. Konfiguracja i dostosowanie powłoki bash 16.1. Opcje startowe powłoki bash 16.2. Dostosowanie znaku zachęty 16.3. Trwała zmiana wartości $PATH 16.4. Chwilowa zmiana wartości $PATH 16.5. Wyznaczanie wartości $CDPATH 16.6. Skracanie i zmienianie nazw poleceń 16.7. Dostosowanie domyślnego sposobu działania powłoki i jej środowiska 16.8. Zmiana sposobu działania mechanizmu readline za pomocą skryptu .inputrc 16.9. Własny zbiór narzędzi — dodanie ścieżki ~/bin 16.10. Wykorzystanie dodatkowych znaków zachęty — $PS2, $PS3, $PS4 16.11. Synchronizowanie historii poleceń wprowadzanych w różnych sesjach 16.12. Włączanie opcji związanych z historią poleceń 16.13. Utworzenie lepszego polecenia cd 16.14. Utworzenie katalogu i przejście do niego w jednym kroku 16.15. Przejście do katalogów najniższego poziomu 16.16. Dodawanie nowych funkcji przez zastosowanie ładowanych poleceń wbudowanych 16.17. Usprawnienie mechanizmu uzupełniania poleceń 16.18. Właściwe wykorzystanie plików startowych 16.19. Tworzenie samodzielnych, przenośnych plików RC 16.20. Uruchomienie powłoki z własną konfiguracją 17. Zadania administracyjne 17.1. Zmiana nazwy wielu plików 17.2. Dokumentacja GNU Texinfo i Info w systemie Linux 17.3. Rozpakowywanie wielu plików ZIP 17.4. Przywracanie przerwanych sesji za pomocą narzędzia screen 17.5. Współdzielenie pojedynczej sesji powłoki 17.6. Rejestrowanie danych z całej sesji lub zadania wsadowego 17.7. Czyszczenie ekranu po wylogowaniu 17.8. Rejestracja metadanych plików w celu ich późniejszego odtworzenia 17.9. Tworzenie indeksu plików 17.10. Wykorzystanie poleceń diff i patch 17.11. Zliczanie różnic między plikami 17.12. Usuwanie lub zmiana nazwy plików zawierających znaki specjalne w nazwie 17.13. Dołączanie danych na początku pliku 17.14. Edycja treści pliku 17.15. Wykorzystanie mechanizmu sudo w odniesieniu do grupy poleceń 17.16. Wyszukiwanie wierszy tylko jednego pliku 17.17. Zachowanie N ostatnich obiektów 17.18. Filtrowanie wyniku polecenia ps za pomocą instrukcji grep, ale z pominięciem w zestawieniu samej instrukcji grep 17.19. Sprawdzenie, czy dany proces działa 17.20. Dodawanie prefiksu lub sufiksu do danych wynikowych 17.21. Numerowanie wierszy 17.22. Generowanie sekwencji liczbowych 17.23. Emulacja instrukcji pause systemu DOS 17.24. Wyświetlanie separatora tysięcy 18. Mniej pisania — szybsza praca 18.1. Szybkie przechodzenie między określonymi katalogami 18.2. Powtarzanie ostatniego polecenia 18.3. Uruchomienie polecenia zbliżonego do wykonywanego wcześniej 18.4. Podmiana wartości składających się z większej liczby słów 18.5. Powtórne wykorzystanie parametrów 18.6. Automatyczne uzupełnianie nazw 18.7. Bezpieczne działania 19. Często popełniane błędy — rozwiązania i podpowiedzi 19.1. Zapominanie o ustawieniu praw wykonywania 19.2. Usuwanie błędu „Nie ma takiego pliku ani katalogu” 19.3. Zapominanie o braku bieżącego katalogu w zmiennej $PATH 19.4. Nadawanie skryptowi nazwy test 19.5. Spodziewana zmiana eksportowanych wartości 19.6. Brak cudzysłowów w operacjach przypisania wywołuje błędy „command not found” 19.7. Wartości pasujące do wzorca są układane w kolejności alfabetycznej 19.8. Potoki powołują podpowłoki 19.9. Uzdrawianie terminala 19.10. Usuwanie plików z użyciem pustej zmiennej 19.11. Niestandardowe zachowanie instrukcji printf 19.12. Sprawdzanie składni skryptu powłoki 19.13. Śledzenie przebiegu skryptów 19.14. Unikanie komunikatów „command not found” podczas korzystania z funkcji 19.15. Pomyłki w stosowaniu symboli wieloznacznych powłoki i wyrażeń regularnych A. Podręczna pomoc Wywołanie powłoki bash Dostosowanie znaku zachęty Symbole specjalne ANSI Polecenia wbudowane i słowa kluczowe Wbudowane zmienne powłoki Opcje instrukcji set Opcje instrukcji shopt Zmiana sposobu działania powłoki za pomocą instrukcji set, shopt i zmiennych środowiskowych Operatory wyrażeń warunkowych Przekierowanie strumieni wejścia-wyjścia Opcje i znaki specjalne instrukcji echo Instrukcja printf Formatowanie daty i czasu z wykorzystaniem funkcji strftime Znaki wzorców dopasowywania Operatory rozszerzonego mechanizmu dopasowywania do wzorca extglob Symbole specjalne polecenia tr Składnia pliku konfiguracyjnego mechanizmu readline Polecenia trybu emacs Polecenia sterujące trybu vi Tabela wartości ASCII B. Przykłady dołączone do oprogramowania bash Przykłady zapisane w katalogu startup-files C. Przetwarzanie poleceń Etapy przetwarzania polecenia D. Kontrola wersji CVS Subversion RCS Inne rozwiązania E. Kompilacja powłoki bash Pobranie pakietu bash Rozpakowanie archiwum Co zawiera archiwum? Do kogo się zwrócić? Skorowidz O autorach Kolofon

Similar books