Szczegóły ebooka

Linux. Programowanie w powłoce. Praktyczny przewodnik. Wydanie III

Linux. Programowanie w powłoce. Praktyczny przewodnik. Wydanie III

Mark G. Sobell

Ebook

Twój przewodnik po systemie Linux!

Linux to system o setkach twarzy. Różne dystrybucje charakteryzują się specyficznym przeznaczeniem, odmiennymi grupami docelowymi użytkowników i platformami uruchomieniowymi. Jednak od lat łączy je wspólny mianownik - wysoka wydajność, stabilność, niezawodność i możliwość dostosowania do własnych potrzeb. Ponadto różne dystrybucje współdzielą popularne narzędzia i komendy. Dlatego ta książka sprawdzi się doskonale w rękach użytkowników między innymi Ubuntu, Debiana, Fedory oraz Mac OS X. Ale nie tylko!

Znajdziesz tu omówienie 98 najpopularniejszych narzędzi i komend. Zostały one zaprezentowane w poszczególnych częściach książki poświęconych: edytorom, powłokom, narzędziom programistycznym oraz narzędziom zapewniającym bezpieczeństwo. Na początek jednak zapoznasz się z niezwykłą historią systemu operacyjnego Linux. Potem przejdziesz do konkretów: będziesz poznawać polecenie po poleceniu. Dowiesz się, jak wykorzystać każde z nich, jakie są ich mocne punkty oraz na co należy uważać. A jest na co - chwila nieuwagi, a polecenie rm usunie całą zawartość Twojego dysku! Na końcu każdego rozdziału znajdziesz zestaw ćwiczeń podstawowych oraz zaawansowanych. Pozwolą Ci one utrwalić zdobytą wiedzę. Ta książka jest świetną lekturą dla każdego użytkownika i pasjonata systemu Linux. Warto ją mieć na półce!

Poznaj:

  • historię systemu operacyjnego Linux
  • najważniejsze polecenia i komendy systemu Linux
  • popularne edytory tekstowe
  • dostępne powłoki oraz ich wady i zalety

Poruszaj się swobodnie po systemie operacyjnym Linux!

Wstęp (29)

1. Witamy w systemach Linux i OS X (43)

  • Historia systemów UNIX oraz GNU-Linux (45)
    • UNIX - protoplasta systemu Linux (45)
    • Zastój do roku 1983 (45)
    • Kolejna odsłona, rok 1991 (46)
    • Kod źródłowy jest powszechnie dostępny (47)
    • Baw się dobrze! (48)
  • Dlaczego Linux jest tak wspaniały? (48)
    • Dlaczego Linux jest tak popularny wśród firm produkujących urządzenia oraz wśród programistów? (51)
    • Linux jest przenośny (52)
    • Język C (52)
  • Przegląd systemu Linux (53)
    • Linux posiada interfejs pozwalający na programowanie jądra systemu (54)
    • Linux może obsługiwać wielu użytkowników (54)
    • Linux jest systemem wielozadaniowym (54)
    • Linux udostępnia bezpieczny, hierarchiczny system plików (54)
    • Powłoka - interpreter poleceń i język programowania (55)
    • Ogromna kolekcja użytecznych narzędzi (57)
    • Komunikacja międzyprocesowa (57)
    • Zarządzanie systemem (58)
  • Dodatkowe mechanizmy systemu Linux (58)
    • Graficzne interfejsy użytkownika (58)
    • Narzędzia (między)sieciowe (59)
    • Tworzenie oprogramowania (59)
  • Podsumowanie rozdziału (60)
  • Ćwiczenia (60)

I. ROZPOCZYNAMY PRACĘ Z SYSTEMAMI LINUX I OS X (61)

2. Wprowadzenie do systemów Linux i OS X (63)

  • Konwencje używane w tej książce (64)
  • Logowanie się przy użyciu terminala (emulatora) (66)
  • Praca z poziomu wiersza poleceń powłoki (68)
    • Z której powłoki korzystasz? (69)
    • Poprawianie błędów (69)
    • Powtarzanie i edytowanie poleceń powłoki (71)
  • Polecenia su i sudo: ograniczanie Twojej władzy - uprawnienia superużytkownika root (72)
  • Gdzie szukać dokumentacji systemu? (73)
    • Polecenie man - wyświetlanie tematów pomocy (73)
    • Polecenie apropos - wyszukiwanie słów kluczowych (75)
    • Polecenie info - wyświetlanie informacji o narzędziach (76)
    • Opcja --help (78)
    • Polecenie help powłoki bash (79)
    • Uzyskiwanie pomocy (79)
  • Więcej informacji o logowaniu się do systemu oraz o hasłach (82)
    • Co zrobić, kiedy nie możesz się zalogować (82)
    • Logowanie zdalne - emulatory terminala, SSH i połączenia typu dial-up (83)
    • Zastosowanie konsoli wirtualnych (83)
    • Wylogowanie z systemu (83)
    • Zmiana hasła użytkownika (84)
  • Podsumowanie rozdziału (86)
  • Ćwiczenia (87)
  • Ćwiczenia zaawansowane (87)

3. Narzędzia systemu Linux (89)

  • Znaki specjalne (90)
  • Podstawowe narzędzia systemowe (91)
    • Polecenie ls - wyświetlanie nazw plików (92)
    • Polecenie cat - wyświetlanie zawartości pliku (92)
    • Polecenie rm - usuwanie pliku (92)
    • Polecenia less i more - wyświetlanie tekstu po jednym ekranie (93)
    • Polecenie hostname - wyświetlanie nazwy systemu (93)
  • Praca z plikami (93)
    • Polecenie cp - kopiowanie plików (93)
    • Polecenie mv - zmiana nazwy pliku (94)
    • Polecenie lpr - drukowanie pliku (95)
    • Polecenie grep - wyszukiwanie łańcuchów tekstu (96)
    • Polecenie head - wyświetlanie początkowych wierszy pliku (96)
    • Polecenie tail - wyświetlanie wierszy z końca pliku (97)
    • Polecenie sort - wyświetlanie zawartości pliku w określonej kolejności (97)
    • Polecenie uniq - usuwanie powtarzających się wierszy z pliku (98)
    • Polecenie diff - porównywanie zawartości dwóch plików (98)
    • Polecenie file - rozpoznawanie zawartości pliku (99)
  • Symbol potoku | - komunikacja między procesami (99)
  • Kolejne cztery narzędzia (100)
    • Polecenie echo - wyświetlanie tekstu na ekranie (100)
    • Polecenie date - wyświetlanie bieżącej daty i czasu (101)
    • Polecenie script - rejestrowanie sesji powłoki (101)
    • Polecenie unix2dos - konwersja plików Linux i OS X do formatu Windows (102)
  • Kompresowanie i archiwizacja plików (102)
    • Polecenie bzip2 - kompresowanie plików (103)
    • Polecenia bzcat oraz bunzip2 - dekompresowanie plików (104)
    • Polecenie gzip - kompresowanie plików (104)
    • Polecenie tar - pakowanie i rozpakowywanie archiwów (105)
  • Lokalizowanie poleceń (107)
    • Polecenia which i whereis - wyszukiwanie narzędzi (107)
    • Polecenie locate - wyszukiwanie plików (109)
  • Wyświetlanie informacji o systemie i użytkownikach (109)
    • Polecenie who - wyświetlanie listy zalogowanych użytkowników (109)
    • Polecenie finger - wyświetlanie listy użytkowników danego systemu (110)
    • Polecenie uptime - wyświetlanie informacji o systemie i jego obciążeniu (111)
    • Polecenie w - wyświetlanie listy zalogowanych użytkowników (112)
    • Polecenie free - wyświetlanie informacji o wykorzystaniu pamięci (112)
  • Komunikacja z innymi użytkownikami (113)
    • Polecenie write - wysyłanie wiadomości (113)
    • Polecenie mesg - blokowanie lub przyjmowanie wiadomości (114)
  • Poczta elektroniczna (114)
  • Podsumowanie rozdziału (115)
  • Ćwiczenia (117)
  • Ćwiczenia zaawansowane (118)

4. System plików (119)

  • Hierarchiczny system plików (120)
  • Pliki katalogów i pliki zwykłe (121)
    • Nazwy plików (122)
    • Katalog roboczy (124)
    • Twój katalog domowy (124)
  • Ścieżki do plików i katalogów (125)
    • Ścieżki bezwzględne (125)
    • Ścieżki względne (127)
  • Praca z katalogami (127)
    • Polecenie mkdir - tworzenie katalogów (128)
    • Polecenie cd - zmiana katalogu roboczego (129)
    • Polecenie rmdir - usuwanie katalogów (131)
    • Korzystanie ze ścieżek (131)
    • Polecenia mv i cp - przenoszenie lub kopiowanie plików (132)
    • Polecenie mv - przenoszenie katalogów (132)
    • Ważne pliki i katalogi domyślne (133)
  • Prawa dostępu (135)
    • Polecenie ls -l - wyświetlanie praw dostępu (135)
    • Polecenie chmod - zmiana praw dostępu (136)
    • Argumenty numeryczne polecenia chmod (138)
    • Atrybuty setuid i setgid - specjalne prawa dostępu (139)
    • Prawa dostępu do katalogów (140)
  • ACL - lista kontroli dostępu (141)
    • Włączanie obsługi list ACL (142)
    • Praca z regułami dostępu (142)
    • Definiowanie reguł domyślnych dla katalogu (144)
  • Dowiązania (146)
    • Dowiązania symboliczne (149)
    • Polecenie rm - usuwanie dowiązania (151)
    • Odwołania do dowiązań symbolicznych (152)
  • Podsumowanie rozdziału (155)
  • Ćwiczenia (156)
  • Ćwiczenia zaawansowane (158)

5. Powłoka systemu Linux (159)

  • Wiersz poleceń (160)
    • Proste polecenia (160)
    • Składnia (160)
    • Przetwarzanie wiersza poleceń (164)
    • Uruchamianie poleceń (166)
    • Edytowanie wiersza poleceń (167)
  • Standardowe wejście i standardowe wyjście danych (167)
    • Ekran jako plik (168)
    • Klawiatura i ekran jako standardowe wejście i standardowe wyjście (168)
    • Przekierowania (169)
    • Potoki danych (174)
    • Przykłady użycia potoków danych (175)
  • Uruchamianie poleceń pracujących w tle (179)
  • Generowanie i rozwijanie nazw plików (180)
    • Znak specjalny - ? (181)
    • Znak specjalny - * (182)
    • Znaki specjalne - [ ] (183)
  • Wbudowane polecenia powłoki (185)
  • Podsumowanie rozdziału (185)
    • Polecenia i narzędzia omawiane w tym rozdziale (186)
  • Ćwiczenia (186)
  • Ćwiczenia zaawansowane (188)

II. EDYTORY (189)

6. Edytor vim (191)

  • Historia (192)
  • Poradnik: jak użyć edytora vim do utworzenia i edytowania pliku (193)
    • Uruchamianie edytora vim (193)
    • Tryb komend i tryb wprowadzania (194)
    • Wprowadzanie tekstu (196)
    • Uzyskiwanie pomocy (196)
    • Zakończenie pracy z edytorem (199)
    • Parametr compatible (199)
  • Wprowadzenie do funkcji edytora vim (200)
    • Pomoc w internecie (200)
    • Terminologia (200)
    • Tryby działania (200)
    • Ekran (201)
    • Poprawianie tekstu podczas jego wstawiania (202)
    • Bufor roboczy (202)
    • Długość wiersza i wielkość pliku (202)
    • Okna (202)
    • Blokady plików (203)
    • Nagłe zakończenie sesji edycji (203)
    • Odzyskanie tekstu po awarii (204)
  • Tryb komend - poruszanie kursorem (205)
    • Przeniesienie kursora o znak (206)
    • Przeniesienie kursora do wskazanego znaku (206)
    • Przenoszenie kursora o słowa (206)
    • Przenoszenie kursora o wiersze (207)
    • Przeniesienie kursora o zdania i akapity (207)
    • Przeniesienie kursora na ekranie (207)
    • Wyświetlanie różnych fragmentów bufora roboczego (208)
  • Tryb wprowadzania (208)
    • Wstawianie tekstu (208)
    • Dodawanie tekstu (209)
    • Tworzenie nowego wiersza dla tekstu (209)
    • Zastępowanie tekstu (209)
    • Cytowanie znaków specjalnych w trybie wprowadzania (209)
  • Tryb komend - usuwanie i zmiana tekstu (210)
    • Cofanie zmian (210)
    • Usuwanie znaków (210)
    • Usuwanie tekstu (210)
    • Zmiana tekstu (211)
    • Zastępowanie tekstu (212)
    • Zmiana wielkości znaków (213)
  • Wyszukiwanie i zastępowanie (213)
    • Wyszukiwanie znaku (213)
    • Wyszukiwanie ciągu tekstowego (213)
    • Zastąpienie jednego ciągu tekstowego innym (216)
  • Różne polecenia (218)
    • Złączenie (218)
    • Stan (218)
    • Kropka (218)
  • Kopiowanie, przenoszenie i usuwanie tekstu (219)
    • Bufor ogólnego przeznaczenia (219)
  • Odczyt i zapis plików (221)
    • Odczyt pliku (221)
    • Zapis pliku (221)
    • Identyfikacja bieżącego wiersza (222)
  • Ustawianie parametrów (222)
    • Ustawianie parametrów w edytorze vim (222)
    • Ustawianie parametrów w pliku startowym (222)
    • Plik startowy .vimrc (223)
    • Parametry (223)
  • Zaawansowane techniki edycji (226)
    • Wykonywanie poleceń powłoki w edytorze vim (228)
  • Jednostki miary (230)
    • Znak (230)
    • Słowo (230)
    • Słowa ograniczone znakami odstępu (230)
    • Wiersz (231)
    • Zdanie (231)
    • Akapit (231)
    • Ekran (okno) (231)
    • Współczynnik powtórzenia (231)
  • Podsumowanie rozdziału (232)
  • Ćwiczenia (236)
  • Ćwiczenia zaawansowane (237)

7. Edytor emacs (239)

  • Historia (240)
    • Ewolucja (240)
    • emacs kontra vim (241)
  • Poradnik - rozpoczęcie pracy z edytorem emacs (242)
    • Uruchomienie edytora emacs (242)
    • Zakończenie pracy (244)
    • Wstawianie tekstu (244)
    • Usuwanie znaków (244)
    • Przenoszenie kursora (245)
    • Edycja w miejscu położenia kursora (247)
    • Zapisywanie i pobieranie bufora (247)
  • Podstawowe polecenia edycji (248)
    • Klawisze - notacja i użycie (248)
    • Polecenia i sekwencje klawiszy (249)
    • Meta+x - wykonanie polecenia bez przypisania klawiszy (249)
    • Argumenty liczbowe (250)
    • Punkt i kursor (250)
    • Przewijanie zawartości bufora (250)
    • Usuwanie tekstu (251)
    • Wyszukiwanie tekstu (251)
    • Używanie paska menu za pomocą klawiatury (253)
  • Pomoc dostępna w edytorze (254)
  • Zaawansowana edycja (256)
    • Cofanie wprowadzonych zmian (256)
    • Punkt, znacznik i region (257)
    • Wytnij i wklej - wklejanie wyciętego tekstu (258)
    • Wstawianie znaków specjalnych (260)
    • Globalne polecenia dotyczące bufora (260)
    • Wizytowanie i zapisywanie plików (262)
    • Bufory (264)
    • Okna (265)
    • Pierwszoplanowe polecenia powłoki (267)
    • Polecenia powłoki działające w tle (267)
  • Tryby podstawowe - edycja w zależności od języka (268)
    • Wybór trybu podstawowego (269)
    • Tryby języków czytelnych dla człowieka (269)
    • Tryb C (272)
    • Dostosowanie wcięć do własnych potrzeb (274)
    • Komentarze (274)
    • Tryby specjalnego przeznaczenia (274)
  • Więcej informacji (280)
    • Uzyskanie dostępu do emacs (280)
  • Podsumowanie rozdziału (280)
  • Ćwiczenia (287)
  • Ćwiczenia zaawansowane (288)

III. POWŁOKI (291)

8. Powłoka Bourne Again Shell (bash) (293)

  • Kilka słów o powłoce bash (294)
  • Pliki startowe (296)
    • Powłoka logowania (296)
    • Powłoki interaktywne (typu non-login) (297)
    • Powłoki nieinteraktywne (297)
    • Konfiguracja plików startowych (297)
    • Polecenie source lub (.) - uruchamianie plików startowych w bieżącej powłoce (298)
  • Polecenia, które są symbolami (299)
  • Przekierowywanie standardowego strumienia błędów (299)
  • Tworzenie i uruchamianie prostych skryptów powłoki (302)
    • Polecenie chmod - tworzenie plików wykonywalnych (302)
    • Znaki #! definiują typ powłoki (304)
    • Znak # oznacza początek komentarza (305)
    • Wykonywanie skryptów powłoki (305)
  • Operatory sterujące - separacja i grupowanie poleceń (306)
    • Znak średnika i znak nowego wiersza oddzielają polecenia (307)
    • Znaki | oraz & - odseparuj polecenia i zrób coś jeszcze... (307)
    • Operatory && i || (308)
    • Znak \ oznacza kontynuację wiersza polecenia (310)
  • Sterowanie zadaniami (311)
    • Polecenie jobs - wyświetlanie listy zadań (311)
    • Polecenie fg - przenoszenie zadania do pracy na pierwszym planie (311)
    • Zawieszanie realizacji zadania (312)
    • Polecenie bg - przenoszenie zadania do pracy w tle (312)
  • Wykorzystanie stosu katalogów (313)
    • Polecenie dirs - wyświetlanie stosu katalogów (313)
    • Polecenie pushd - umieszczenie nazwy katalogu na stosie (314)
    • Polecenie popd - zdejmowanie nazwy katalogu ze stosu (315)
  • Parametry i zmienne (316)
    • Zmienne tworzone przez użytkownika (318)
    • Polecenie unset - usuwanie zmiennych (320)
    • Atrybuty zmiennych (320)
    • Zmienne środowiskowe (322)
  • Znaki specjalne (330)
  • Ustawienia językowe (331)
    • LC_, czyli zmienne ustawień językowych (331)
    • Polecenie locale - wyświetlanie informacji o ustawieniach językowych (332)
    • Konfiguracja ustawień językowych (333)
  • Ustawienia czasu (334)
  • Procesy (337)
    • Struktura procesów (337)
    • Identyfikacja procesów (337)
    • Uruchamianie poleceń (339)
  • Historia poleceń (340)
    • Zmienne, które sterują historią poleceń (340)
    • Ponowne wykonywanie i modyfikacja poleceń (342)
    • Biblioteka Readline (349)
  • Aliasy (355)
    • Zastosowanie apostrofów i cudzysłowu w aliasach (356)
    • Przykłady aliasów (356)
  • Funkcje (358)
  • Sterowanie powłoką bash - opcje (361)
    • Opcje wywołania polecenia bash (361)
    • Opcje powłoki (361)
  • Przetwarzanie wiersza poleceń (365)
    • Podstawianie poleceń z historii (366)
    • Podstawianie aliasów (366)
    • Przetwarzanie i skanowanie wiersza polecenia (366)
    • Rozwijanie wiersza polecenia (366)
  • Podsumowanie rozdziału (375)
  • Ćwiczenia (377)
  • Ćwiczenia zaawansowane (378)

9. Powłoka TC Shell (tcsh) (381)

  • Skrypty powłoki (382)
  • Uruchamianie i zamykanie powłoki TC Shell (383)
    • Pliki startowe (384)
  • Funkcje wspólne powłok Bourne Again Shell i TC Shell (385)
    • Rozwinięcie wiersza poleceń powłoki (zastępowanie) (385)
    • Sterowanie zadaniami (389)
    • Zastępowanie nazw plików (389)
    • Operacje na stosie katalogów (390)
    • Zastępowanie poleceń (390)
  • Przekierowanie standardowego strumienia błędów (390)
  • Praca z wierszem poleceń powłoki (391)
    • Uzupełnianie słów (391)
    • Edycja wiersza poleceń powłoki (393)
    • Poprawianie pisowni (394)
  • Zmienne (395)
    • Zastępowanie zmiennej (396)
    • Zmienne w postaci ciągów tekstowych (396)
    • Tablice zmiennych w postaci ciągów tekstowych (397)
    • Zmienne liczbowe (397)
    • Specjalne postacie zmiennych (400)
    • Zmienne tcsh (400)
  • Struktury sterujące (406)
    • if (406)
    • goto (408)
    • Obsługa przerwań (409)
    • if...then...else (409)
    • foreach (410)
    • while (412)
    • break i continue (412)
    • switch (412)
  • Wbudowane polecenia powłoki (413)
  • Podsumowanie rozdziału (417)
  • Ćwiczenia (418)
  • Ćwiczenia zaawansowane (419)

IV. NARZĘDZIA PROGRAMISTYCZNE (421)

10. Programowanie powłoki Bourne Again Shell (423)

  • Struktury sterujące (425)
    • Polecenie if...then (425)
    • Polecenie if...then...else (428)
    • Polecenie if...then...elif (430)
    • Polecenie for...in (436)
    • Polecenie for (438)
    • Polecenie while (440)
    • Polecenie until (443)
    • Polecenia break i continue (445)
    • Polecenie case (445)
    • Polecenie select (451)
    • Dokument Here (453)
  • Deskryptory plików (454)
    • Otwieranie deskryptora pliku (455)
    • Tworzenie duplikatów deskryptorów plików (455)
    • Przykłady użycia deskryptora pliku (455)
    • Ustalenie, czy deskryptor pliku jest powiązany z terminalem (457)
  • Parametry (459)
    • Parametry pozycyjne (459)
    • Parametry specjalne (464)
  • Zmienne (467)
    • Zmienne powłoki (467)
    • Środowisko, zmienne środowiskowe i dziedziczenie (468)
    • Rozwijanie zmiennych o wartości null i zmiennych, które nie są ustawione (472)
    • Zmienne tablicowe (473)
    • Zmienne w funkcjach (474)
  • Wbudowane polecenia powłoki (475)
    • Polecenie type - wyświetlanie informacji o innych poleceniach (476)
    • Polecenie read - pobieranie danych wpisywanych przez użytkownika (476)
    • Polecenie exec - uruchomienie polecenia lub przekierowanie deskryptora pliku (479)
    • Polecenie trap - przechwytywanie i obsługa sygnałów (482)
    • Polecenie kill - przerywanie i zatrzymywanie działania procesu (485)
    • Polecenie eval - skanowanie, przetwarzanie i wykonywanie polecenia powłoki (485)
    • Polecenie getopts - przetwarzanie opcji wywołania (486)
    • Lista wybranych, wbudowanych poleceń powłoki (488)
  • Wyrażenia (489)
    • Obliczanie wyrażeń arytmetycznych (490)
    • Obliczanie wyrażeń logicznych (wyrażenia warunkowe) (491)
    • Dopasowywanie wzorców tekstu (492)
    • Operatory (492)
  • Domniemana kontynuacja polecenia powłoki (495)
  • Programowanie powłoki (496)
    • Rekurencyjny skrypt powłoki (497)
    • Kolejny skrypt powłoki - quiz (500)
  • Podsumowanie rozdziału (506)
  • Ćwiczenia (507)
  • Ćwiczenia zaawansowane (509)

11. Perl - skryptowy język programowania (511)

  • Wprowadzenie do języka Perl (512)
    • Więcej informacji (513)
    • Pomoc (513)
    • Polecenie perldoc (513)
    • Terminologia (515)
    • Uruchamianie programów napisanych w języku Perl (516)
    • Składnia (517)
  • Zmienne (519)
    • Zmienne skalarne (521)
    • Zmienne tablicowe (522)
    • Tablice asocjacyjne (524)
  • Struktury sterujące (526)
    • Polecenia if i unless (526)
    • Polecenie if...else (528)
    • Polecenie if...elsif...else (528)
    • Polecenia foreach i for (529)
    • Polecenia last i next (530)
    • Polecenia while i until (532)
  • Praca z plikami (533)
  • Sortowanie (537)
  • Procedury (538)
  • Wyrażenia regularne (540)
    • Składnia i operator =~ (540)
  • Moduły CPAN (545)
  • Przykłady (547)
  • Podsumowanie rozdziału (550)
  • Ćwiczenia (550)
  • Ćwiczenia zaawansowane (551)

12. Język programowania Python (553)

  • Wprowadzenie (554)
    • Wywoływanie Pythona (554)
    • Więcej informacji (556)
    • Zapis do standardowego wyjścia i odczyt ze standardowego wejścia (556)
    • Funkcje i metody (557)
  • Zmienne skalarne, listy i słowniki (558)
    • Zmienne skalarne (558)
    • Listy (558)
    • Słowniki (562)
  • Struktury sterujące (563)
    • if (563)
    • if...else (564)
    • if...elif...else (564)
    • while (565)
    • for (565)
  • Odczyt danych z pliku oraz zapis w nim danych (567)
    • Dane wejściowe i wyjściowe pliku (567)
    • Obsługa wyjątków (568)
    • Pickle (569)
  • Wyrażenia regularne (570)
  • Definiowanie funkcji (572)
  • Używanie bibliotek (572)
    • Biblioteka standardowa (572)
    • Biblioteki niestandardowe (573)
    • Biblioteki SciPy i NumPy (573)
    • Przestrzeń nazw (573)
    • Import modułu (574)
    • Przykład importowania funkcji (574)
  • Funkcje lambda (576)
  • Listy składane (576)
  • Podsumowanie rozdziału (577)
  • Ćwiczenia (578)
  • Ćwiczenia zaawansowane (578)

13. Baza danych MySQL (581)

  • Informacje (582)
    • Terminologia (582)
    • Składnia i przyjęte konwencje (583)
    • Więcej informacji (585)
  • Instalacja serwera i klienta MySQL (585)
    • Fedora/RHEL (Red Hat Enterprise Linux) (585)
    • Debian/Ubuntu/Mint (585)
    • openSUSE (586)
    • OS X (586)
  • Opcje klienta (586)
  • Konfiguracja MySQL (587)
    • Zdefiniowanie hasła dla użytkownika root bazy danych MySQL (587)
    • Usunięcie użytkowników anonimowych (587)
    • Uruchomienie skryptu bezpiecznej instalacji (587)
    • Plik ~/.my.cnf - konfiguracja klienta MySQL (588)
    • Plik ~/.mysql_history - historia klienta MySQL (588)
  • Tworzenie bazy danych (588)
  • Dodawanie użytkowników (589)
  • Przykłady (590)
    • Logowanie (590)
    • Tworzenie tabel (590)
    • Dodawanie danych (592)
    • Pobieranie danych (593)
    • Tworzenie kopii zapasowej bazy danych (594)
    • Modyfikowanie danych (595)
    • Utworzenie drugiej tabeli (595)
    • Złączenia (596)
  • Podsumowanie rozdziału (600)
  • Ćwiczenia (600)

14. Język przetwarzania wzorców AWK (601)

  • Składnia (602)
  • Argumenty (602)
  • Opcje (603)
  • Uwagi (604)
  • Podstawy języka (604)
    • Wzorce (604)
    • Akcje (605)
    • Komentarze (605)
    • Zmienne (605)
    • Funkcje (606)
    • Operatory arytmetyczne (607)
    • Tablice asocjacyjne (607)
    • Polecenie printf (608)
    • Struktury sterujące (608)
  • Przykłady (610)
  • Zaawansowane programowanie gawk (623)
    • Polecenie getline - kontrolowanie danych wejściowych (623)
    • Koproces - dwukierunkowe wejście-wyjście (625)
    • Pobieranie danych wejściowych poprzez sieć (626)
  • Podsumowanie rozdziału (627)
  • Ćwiczenia (628)
  • Ćwiczenia zaawansowane (628)

15. Edytor sed (629)

  • Składnia (630)
  • Argumenty (630)
  • Opcje (630)
  • Podstawy edytora (631)
    • Adresy (631)
    • Polecenia (631)
    • Struktury sterujące (633)
    • Miejsce przechowywania (633)
  • Przykłady (634)
  • Podsumowanie rozdziału (642)
  • Ćwiczenia (642)

V. NARZĘDZIA BEZPIECZNEJ SIECI (643)

16. Narzędzie rsync służące do bezpiecznego kopiowania plików (645)

  • Składnia (646)
  • Argumenty (646)
  • Opcje (646)
    • Uwagi (648)
    • Więcej informacji (649)
  • Przykłady (649)
    • Użycie ukośnika (/) na końcu źródła (649)
    • Usuwanie plików (650)
    • Kopiowanie plików do oraz z systemu zdalnego (651)
    • Tworzenie lustrzanej kopii katalogu (652)
    • Tworzenie kopii zapasowej (652)
    • Przywracanie plików (654)
  • Podsumowanie rozdziału (655)
  • Ćwiczenia (655)

17. OpenSSH - bezpieczna komunikacja sieciowa (657)

  • Wprowadzenie do OpenSSH (658)
    • Jak działa OpenSSH (659)
    • Pliki (659)
    • Więcej informacji (660)
  • Uruchomienie klientów OpenSSH - ssh, scp i sftp (660)
    • Szybki start - użycie ssh oraz scp do połączenia z serwerem OpenSSH (661)
    • Konfiguracja klientów OpenSSH (661)
    • ssh - logowanie lub wykonywanie poleceń w zdalnym systemie (663)
    • scp - kopiowanie plików ze zdalnego systemu i do niego (666)
    • sftp - bezpieczny klient FTP (668)
    • Pliki konfiguracyjne ~/.ssh/config oraz /etc/ssh/ssh_config (668)
    • Klucze uwierzytelniające - automatyczne logowanie (670)
    • ssh-agent - przechowywanie kluczy prywatnych (672)
  • Tunelowanie i przekazywanie portów (673)
    • Przekazywanie sesji X11 (673)
    • Przekazywanie portów (674)
  • Podsumowanie rozdziału (675)
  • Ćwiczenia (675)
  • Ćwiczenia zaawansowane (676)

VI. POLECENIA SYSTEMU LINUX (677)

18. Polecenia systemu Linux (679)

  • Narzędzia służące do wyświetlania i przeprowadzania operacji na plikach (679)
  • Narzędzia sieciowe (681)
  • Narzędzia służące do wyświetlania informacji o stanie systemu i jego zmiany (681)
  • Narzędzia programistyczne (682)
  • Narzędzia różne (682)
  • Standardowe przyrostki multiplikatywne (683)
  • Najczęściej używane opcje (684)
  • Narzędzie sample (684)
  • sample - krótkie omówienie działania danego narzędzia (685)
  • aspell - sprawdza plik pod kątem błędów językowych (687)
  • at - wykonuje polecenie o określonej godzinie (691)
  • busybox - implementuje wiele standardowych narzędzi (694)
  • bzip2 - kompresuje lub dekompresuje pliki (697)
  • cal - wyświetla kalendarz (699)
  • cat - łączy i wyświetla pliki (700)
  • cd - powoduje zmianę katalogu roboczego (702)
  • chgrp - zmienia grupę powiązaną z plikiem (704)
  • chmod - zmienia tryb dostępu (uprawnienia) do pliku (706)
  • chown - zmienia właściciela pliku i (lub) grupę, z którą powiązany jest dany plik (711)
  • cmp - porównuje dwa pliki (713)
  • comm - porównuje posortowane pliki (715)
  • configure - automatycznie konfiguruje kod źródłowy (717)
  • cp - kopiuje pliki (719)
  • cpio - tworzy archiwum, przywraca pliki z archiwum lub kopiuje hierarchię katalogu (723)
  • crontab - zapewnia obsługę plików crontab (728)
  • cut - wybiera znaki lub pola z wierszy danych wejściowych (731)
  • date - wyświetla lub ustawia systemową datę i godzinę (733)
  • dd - konwertuje i kopiuje plik (735)
  • df - wyświetla informacje o poziomie użycia miejsca na dysku (738)
  • diff - wyświetla różnice pomiędzy dwoma plikami tekstowymi (740)
  • diskutil - sprawdza, modyfikuje i naprawia woluminy lokalne (OS X) (745)
  • ditto - kopiuje pliki, tworzy i rozpakowuje archiwa (OS X) (748)
  • dmesg - wyświetla komunikaty jądra (750)
  • dscl - wyświetla i zarządza informacjami usługi katalogowej (OS X) (751)
  • du - wyświetla informacje o użyciu dysku przez hierarchię katalogu i (lub) plik (754)
  • echo - wyświetla komunikat (757)
  • expand/unexpand - konwertuje tabulatory na spacje i spacje na tabulatory (759)
  • expr - oblicza wartość wyrażenia (761)
  • file - wyświetla klasyfikację pliku (764)
  • find - wyszukuje pliki na podstawie zdefiniowanych kryteriów (766)
  • finger - wyświetla informacje o użytkownikach (771)
  • fmt - w bardzo prosty sposób formatuje tekst (773)
  • fsck - sprawdza i naprawia system plików (775)
  • ftp - pozwala na kopiowanie plików przez sieć (779)
  • gawk - wyszukuje i przetwarza wzorce w pliku (785)
  • gcc - kompiluje kod źródłowy w językach C i C++ (786)
  • GetFileInfo - wyświetla atrybuty pliku (OS X) (790)
  • grep - wyszukuje wzorce w plikach (792)
  • gzip - kompresuje lub dekompresuje pliki (796)
  • head - wyświetla początek pliku (799)
  • join - łączy wiersze z dwóch plików na podstawie wspólnego pola (801)
  • kill - kończy działanie procesu o wskazanym identyfikatorze (803)
  • killall - zakończenie działania procesu o podanej nazwie (805)
  • launchctl - nadzoruje działanie demona launchd (OS X) (807)
  • less - wyświetla pliki tekstowe po jednym ekranie tekstu w danej chwili (809)
  • ln - tworzy dowiązanie do pliku (813)
  • lpr - drukuje pliki (815)
  • ls - wyświetla informacje o jednym lub większej liczbie plików (818)
  • make - ustala, który fragment programu wymaga ponownej kompilacji (825)
  • man - wyświetla dokumentację dla poszczególnych narzędzi (830)
  • mc - zarządza plikami w środowisku tekstowym (menedżer Midnight Commander) (833)
  • mkdir - tworzy katalog (839)
  • mkfs - tworzy system plików w urządzeniu (840)
  • mv - zmienia nazwę lub przenosi plik (843)
  • nice - zmienia priorytet polecenia (845)
  • nl - numeruje wiersze zawartości pliku (847)
  • nohup - uruchamia polecenie, które działa po wylogowaniu się (849)
  • od - zrzuca zawartość pliku (850)
  • open - otwiera pliki, katalogi i adresy URL (OS X) (854)
  • otool - wyświetla obiekty, biblioteki i pliki wykonywalne (OS X) (856)
  • paste - łączy odpowiadające sobie wiersze plików (858)
  • pax - tworzy archiwum, przywraca pliki z archiwum lub kopiuje hierarchię katalogów (860)
  • plutil - przeprowadza operacje na plikach typu property list (OS X) (865)
  • pr - stronicuje pliki przeznaczone do wydruku (867)
  • printf - nadaje formatowanie ciągowi tekstowemu i danym liczbowym, a następnie je wyświetla (869)
  • ps - wyświetla informacje o stanie procesu (872)
  • renice - zmienia priorytet procesu (876)
  • rm - usuwa plik (dowiązanie) (877)
  • rmdir - usuwa katalog (879)
  • rsync - bezpiecznie kopiuje pliki oraz hierarchię katalogów poprzez sieć (880)
  • scp - bezpiecznie kopiuje jeden lub więcej plików do lub ze zdalnego systemu (881)
  • screen - zarządza wieloma oknami tekstowymi (882)
  • sed - edytuje plik w sposób nieinteraktywny (887)
  • SetFile - ustawia atrybuty pliku (OS X) (888)
  • sleep - tworzy proces, który będzie uśpiony przez określony czas (890)
  • sort - sortuje i (lub) łączy pliki (891)
  • split - dzieli plik na sekcje (899)
  • ssh - bezpiecznie uruchamia program lub powłokę w zdalnym systemie (901)
  • sshfs/curlftpfs - montuje katalog serwera OpenSSH lub FTP jako katalog lokalny (902)
  • stat - wyświetla informacje o plikach (905)
  • strings - wyświetla ciągi tekstowe widocznych znaków treści zawartej w pliku (907)
  • stty - wyświetla lub ustawia parametry terminala (908)
  • sysctl - wyświetla i modyfikuje zmienne jądra w trakcie działania programu (912)
  • tail - wyświetla ostatnią część pliku (913)
  • tar - umieszcza pliki w archiwum lub je stamtąd pobiera (916)
  • tee - przekazuje standardowe wejście do standardowego wyjścia, tworząc kopię w jednym lub większej liczbie plików (921)
  • telnet - łączy się poprzez sieć ze zdalnym komputerem (922)
  • test - oblicza wartość wyrażenia (925)
  • top - dynamicznie wyświetla informacje o stanie procesu (928)
  • touch - tworzy plik lub zmienia uprawnienia dostępu do pliku i (lub) datę i godzinę ostatniej modyfikacji pliku (931)
  • tr - zastępuje wskazane znaki (933)
  • tty - wyświetla ścieżkę dostępu do terminala (936)
  • tune2fs - zmienia parametry systemów plików ext2, ext3 i ext4 (937)
  • umask - określa maskę uprawnień stosowaną podczas tworzenia pliku (939)
  • uniq - wyświetla unikatowe wiersze z pliku (941)
  • w - wyświetla informacje o użytkownikach systemu lokalnego (943)
  • wc - wyświetla liczbę wierszy, słów i bajtów w jednym lub większej liczbie plików (945)
  • which - pokazuje ścieżkę dostępu do wskazanego narzędzia (946)
  • who - wyświetla informacje o zalogowanych użytkownikach (948)
  • xargs - tworzy listę argumentów i uruchamia polecenie (950)

DODATKI (953)

A. Wyrażenia regularne (955)

  • Znaki (956)
  • Separatory (956)
  • Proste ciągi znaków (956)
  • Znaki specjalne (956)
    • Kropka (956)
    • Nawiasy kwadratowe (957)
    • Gwiazdki (957)
    • Daszki i znaki dolara (958)
    • Cytowanie znaków specjalnych (958)
  • Reguły (958)
    • Najdłuższe możliwe dopasowanie (958)
    • Puste wyrażenia regularne (959)
  • Oznaczanie wyrażeń (959)
  • Ciągi zastępujące (960)
    • Znak & (ampersand) (960)
    • Cytowane liczby (960)
  • Rozszerzone wyrażenia regularne (961)
  • Podsumowanie (962)

B. Pomoc (965)

  • Rozwiązywanie problemów (966)
  • Wyszukiwanie informacji związanych z systemami Linux i OS X (967)
    • Grupy dyskusyjne systemów Linux i OS X (967)
    • Listy dyskusyjne (967)
  • Definiowanie typu terminala (968)

C. Uaktualnianie systemu (971)

  • Narzędzie yum (972)
    • Używanie yum do instalacji, usuwania i uaktualniania pakietów (972)
    • Komendy polecenia yum (974)
    • Polecenie yum - grupy (975)
    • Pobieranie pakietów RPM przy użyciu polecenia yumdownloader (976)
    • Konfiguracja polecenia yum (976)
  • Narzędzie apt-get (978)
    • Używanie apt-get do instalacji, usuwania i uaktualniania pakietów (979)
    • Używanie apt-get do uaktualnienia systemu (980)
    • Inne opcje apt-get (980)
    • Repozytoria (981)
    • sources.list - repozytoria przeszukiwane przez apt-get (981)
  • BitTorrent (982)

D. Uwagi dotyczące systemu OS X (985)

  • Open Directory (986)
  • System plików (987)
    • Niedyskowe systemy plików (987)
    • Wielkość liter (987)
    • /Volumes (987)
  • Rozszerzone atrybuty (988)
    • Fork (988)
    • Atrybuty pliku (989)
    • Listy ACL (991)
  • Aktywacja klawisza Meta dla aplikacji Terminal (993)
  • Pliki startowe (993)
  • Zdalne logowanie (993)
  • Wiele narzędzi nie spełnia wymagań opisanych w dokumencie Human Interface Guidelines (993)
  • Instalacja Xcode i MacPorts (993)
  • Implementacja funkcji Linux w systemie OS X (995)

Słowniczek (997)

Skorowidz (1055)

  • Tytuł: Linux. Programowanie w powłoce. Praktyczny przewodnik. Wydanie III
  • Autor: Mark G. Sobell
  • Tytuł oryginału: A Practical Guide to Linux Commands, Editors, and Shell Programming (3rd Edition)
  • Tłumaczenie: Robert Górczyński
  • ISBN: 978-83-246-7570-8, 9788324675708
  • Data wydania: 2013-11-18
  • Format: Ebook
  • Identyfikator pozycji: lippp3
  • Wydawca: Helion