SPIS TREŚCI
Podziękowania 21
Wstęp 23
CZĘŚĆ I. NAUKA POWŁOKI
1. Czym jest powłoka? 31
- Emulatory terminali 31
- Pierwsze kroki 32
- Historia poleceń 32
- Przesuwanie kursora 32
- Pierwsze polecenia 33
- Kończenie sesji terminala 35
- Podsumowanie 35
2. Nawigacja 37
- Hierarchia systemu plików 37
- Bieżący katalog roboczy 38
- Wypisywanie zawartości katalogu 39
- Zmienianie bieżącego katalogu roboczego 39
- Ścieżki bezwzględne 39
- Ścieżki względne 40
- Przydatne skróty 42
- Podsumowanie 42
3. Przegląd systemu 43
- Więcej zabawy z ls 43
- Opcje i argumenty 44
- Długi format pod lupą 45
- Sprawdzanie typu pliku za pomocą polecenia type 46
- Wyświetlanie zawartości pliku za pomocą polecenia less 47
- Wycieczka z przewodnikiem 49
- Dowiązania symboliczne 51
- Dowiązania twarde 52
- Podsumowanie 52
4. Manipulowanie plikami i katalogami 53
- Wieloznaczniki 54
- mkdir – tworzenie katalogów 56
- cp – kopiowanie plików i katalogów 56
- Przydatne opcje i przykłady 57
- mv – przenoszenie plików i zmiana ich nazw 58
- Przydatne opcje i przykłady 58
- rm – usuwanie plików i katalogów 58
- Przydatne opcje i przykłady 59
- ln – tworzenie dowiązań 60
- Dowiązania twarde 60
- Dowiązania symboliczne 61
- Budowanie placu zabaw 61
- Tworzenie katalogów 62
- Kopiowanie plików 62
- Przenoszenie plików i zmiana ich nazw 63
- Tworzenie dowiązań twardych 64
- Tworzenie dowiązań symbolicznych 65
- Usuwanie plików i katalogów 66
- Podsumowanie 68
5. Polecenia 69
- Czym właściwie są polecenia? 70
- Identyfikowanie poleceń 70
- type – wyświetlanie typu polecenia 70
- which – wyświetlanie lokalizacji pliku wykonywalnego 71
- Pobieranie dokumentacji polecenia 71
- help – uzyskiwanie pomocy dla poleceń wbudowanych w powłokę 71
- –help – wyświetlanie informacji o użyciu 72
- man – wyświetlanie podręcznika programu 73
- apropos – wyświetlanie odpowiednich poleceń 74
- whatis – wyświetlanie jednowierszowego opisu podręcznika polecenia 75
- info – wyświetlanie informacji o programie 75
- README i inne pliki dokumentacji programu 76
- Tworzenie własnych poleceń z wykorzystaniem polecenia alias 77
- Podsumowanie 79
6. Przekierowania 81
- Standardowy strumień wejścia, wyjścia oraz błędów 82
- Przekierowanie standardowego strumienia wyjścia 82
- Przekierowanie standardowego strumienia błędów 84
- Przekierowanie standardowego strumienia wyjścia i standardowego strumienia błędów do jednego pliku 85
- Usuwanie niepotrzebnych danych wynikowych 86
- Przekierowanie standardowego strumienia wejścia 86
- cat – łączenie plików 86
- Potoki 88
- Filtry 89
- uniq – zgłaszanie lub pomijanie powtarzających się wierszy 90
- wc – wypisywanie liczników wierszy, słów oraz bajtów 90
- grep – wypisywanie wierszy pasujących do wzorca 91
- head (tail) – zwracanie początku (końca) pliku 92
- tee – pobieranie danych ze standardowego strumienia wejścia, przekazywanie ich do standardowego strumienia wyjścia i do plików 93
- Podsumowanie 94
7. Spojrzenie na świat z punktu widzenia powłoki 95
- Interpretacja poleceń 95
- Interpretacja ścieżek 96
- Interpretacja tyldy 98
- Interpretacja wyrażeń arytmetycznych 98
- Interpretacja nawiasów 99
- Interpretacja parametrów 101
- Podstawianie wyników poleceń 101
- Cytowanie 102
- Cudzysłowy podwójne 103
- Cudzysłowy pojedyncze 105
- Interpretowanie znaków 105
- Sekwencje z lewym ukośnikiem 105
- Podsumowanie 106
8. Zaawansowane sztuczki związane z klawiaturą 107
- Edytowanie wiersza poleceń 108
- Przemieszczanie kursora 108
- Modyfikowanie tekstu 108
- Wycinanie i wklejanie tekstu 109
- Uzupełnianie 110
- Korzystanie z historii 111
- Przeszukiwanie historii 112
- Interpretacja historii 113
- Podsumowanie 114
9. Uprawnienia 115
- Właściciele, członkowie grupy i wszyscy pozostali 116
- Odczyt, zapis i wykonywanie 117
- chmod – zmiana trybu pliku 119
- Ustawianie trybu pliku z poziomu interfejsu graficznego 122
- umask – ustawianie uprawnień domyślnych 123
- Niektóre uprawnienia specjalne 124
- Zmiana tożsamości 125
- su – uruchamianie powłoki z identyfikatorem zastępczego użytkownika i grupy 126
- sudo – wykonywanie polecenia jako inny użytkownik 127
- chown – zmiana właściciela pliku i grupy 129
- chgrp – zmiana przypisania do grupy 130
- Ćwiczenia dotyczące własnych uprawnień 130
- Zmiana własnego hasła 132
- Podsumowanie 133
10. Procesy 135
- Jak działa proces? 136
- Wyświetlanie procesów 136
- Dynamiczne wyświetlanie procesów za pomocą polecenia top 138
- Sterowanie procesami 139
- Zatrzymywanie procesu 141
- Umieszczanie procesu w tle 141
- Przywracanie procesu do pierwszego planu 142
- Zatrzymywanie (wstrzymywanie) procesu 142
- Sygnały 143
- Wysyłanie sygnałów do procesów za pomocą polecenia kill 144
- Wysyłanie sygnałów do wielu procesów za pomocą polecenia killall 146
- Wyłączanie systemu 146
- Więcej poleceń dotyczących procesów 147
- Podsumowanie 148
CZĘŚĆ II. KONFIGURACJA I ŚRODOWISKO
11. Środowisko 151
- Co jest przechowywane w środowisku? 152
- Przeglądanie środowiska 152
- Niektóre ciekawe zmienne 154
- W jaki sposób konfigurowane jest środowisko? 154
- Czym jest plik startowy? 156
- Modyfikowanie środowiska 157
- Które pliki należy zmodyfikować? 157
- Edytory tekstu 158
- Korzystanie z edytora tekstu 158
- Aktywowanie naszych zmian 161
- Podsumowanie 162
12. Łagodne wprowadzenie do vi 163
- Dlaczego należy się nauczyć vi? 163
- Krótkie wprowadzenie 164
- Uruchamianie i zatrzymywanie vi 164
- Tryby edycji 166
- Włączanie trybu edycji 167
- Zapisywanie pracy 167
- Zmiana położenia kursora 168
- Podstawowa edycja 169
- Dodawanie tekstu 169
- Otwieranie wiersza 170
- Usuwanie tekstu 170
- Wycinanie, kopiowanie i wklejanie tekstu 172
- Łączenie wierszy 173
- Szukanie i zastępowanie 173
- Przeszukiwanie wiersza 173
- Przeszukiwanie całego pliku 174
- Wyszukiwanie i zastępowanie globalne 174
- Edycja wielu plików 176
- Przełączanie między plikami 176
- Otwieranie do edycji dodatkowych plików 177
- Kopiowanie treści z jednego pliku do drugiego 178
- Wstawianie treści całego pliku do drugiego pliku 179
- Zapisywanie zmian 179
- Podsumowanie 180
13. Dostosowywanie znaku zachęty 181
- Anatomia znaku zachęty 181
- Alternatywne projekty znaków zachęty 182
- Dodawanie koloru 184
- Przesuwanie kursora 186
- Zapisywanie znaku zachęty 187
- Podsumowanie 188
CZĘŚĆ III. POPULARNE ZADANIA I PODSTAWOWE NARZĘDZIA
14. Zarządzanie pakietami 191
- Systemy zarządzania pakietami 192
- Jak działają systemy zarządzania pakietami? 192
- Pliki pakietu 192
- Repozytoria 193
- Zależności 193
- Narzędzia zarządzania pakietami wysokiego i niskiego poziomu 194
- Popularne zadania zarządzania pakietami 194
- Szukanie pakietu w repozytorium 194
- Instalowanie pakietu z repozytorium 195
- Instalowanie pakietu z wykorzystaniem pliku pakietu 195
- Usuwanie pakietu 196
- Uaktualnianie pakietów z repozytorium 196
- Uaktualnianie pakietów za pomocą pliku pakietu 196
- Wyświetlanie zainstalowanych pakietów 197
- Sprawdzanie, czy pakiet jest zainstalowany 197
- Wyświetlanie informacji o zainstalowanym pakiecie 198
- Sprawdzanie, który pakiet zainstalował plik 198
- Podsumowanie 198
15. Nośniki danych 201
- Montowanie i odmontowywanie urządzeń pamięciowych 202
- Wyświetlanie listy zamontowanych systemów plików 203
- Ustalanie nazwy urządzenia 206
- Tworzenie nowych systemów plików 210
- Manipulowanie partycjami z wykorzystaniem fdisk 210
- Tworzenie nowego systemu plików z wykorzystaniem mkfs 212
- Testowanie i naprawa systemów plików 213
- Przenoszenie danych bezpośrednio do urządzeń oraz z urządzeń 214
- Tworzenie obrazów dysków CD 215
- Tworzenie obrazu kopii dysku CD 215
- Tworzenie obrazu na podstawie zbioru plików 216
- Zapisywanie obrazów CD 216
- Bezpośrednie montowanie obrazu ISO 216
- Opróżnianie zapisywalnego dysku CD 216
- Zapisywanie obrazu 217
- Podsumowanie 217
- Dodatkowe informacje 217
16. Zagadnienia sieciowe 219
- Sprawdzanie i monitorowanie sieci 220
- ping 220
- traceroute 221
- ip 222
- netstat 223
- Przenoszenie plików poprzez sieć 224
- ftp 224
- lftp – ulepszony ftp 226
- wget 226
- Bezpieczna komunikacja z hostami zdalnymi 226
- ssh 227
- scp i sftp 230
- Podsumowanie 232
17. Szukanie plików 233
- locate – łatwy sposób szukania plików 234
- find – trudny sposób wyszukiwania plików 235
- Testy 236
- Operatory 237
- Predefiniowane akcje 240
- Akcje zdefiniowane przez użytkownika 242
- Zwiększanie wydajności 243
- xargs 244
- Powrót do placu zabaw 245
- Opcje polecenia find 247
- Podsumowanie 247
18. Archiwizacja i kopie zapasowe 249
- Kompresowanie plików 250
- gzip 250
- bzip2 252
- Archiwizacja plików 253
- tar 253
- zip 258
- Synchronizacja plików i katalogów 261
- Korzystanie z polecenia rsync poprzez sieć 264
- Podsumowanie 265
19. Wyrażenia regularne 267
- Co to są wyrażenia regularne? 268
- grep 268
- Metaznaki i literały 270
- Znak dowolny 270
- Kotwice 271
- Wyrażenia w nawiasach i klasy znaków 272
- Zaprzeczenie 273
- Tradycyjne zakresy znaków 273
- Klasy znaków POSIX 274
- Podstawowy POSIX a rozszerzone wyrażenia regularne 277
- Alternatywa 279
- Kwantyfikatory 280
- ? – dopasowuje element zero lub jeden raz 280
- * – dopasowuje element zero lub więcej razy 281
- + – dopasowuje element raz lub więcej razy 281
- {} – dopasowuje element określoną liczbę razy 282
- Zaprzęgamy wyrażenia regularne do pracy 283
- Sprawdzanie listy telefonicznej za pomocą polecenia grep 283
- Szukanie brzydkich nazw plików z wykorzystaniem polecenia find 284
- Wyszukiwanie plików za pomocą polecenia locate 284
- Wyszukiwanie tekstu za pomocą programów less i vim 285
- Podsumowanie 286
20. Przetwarzanie tekstu 287
- Zastosowanie tekstu 288
- Dokumenty 288
- Strony WWW 288
- E-mail 288
- Wyjście drukarki 288
- Kod źródłowy programów 289
- Ponowne odwiedziny u starych przyjaciół 289
- cat 289
- sort 291
- uniq 297
- Cięcie i krojenie 299
- cut – usuwanie fragmentów z każdego wiersza plików 299
- paste – łączenie wierszy w pliku 302
- join – łączenie dwóch plików na podstawie wspólnego pola 303
- Porównywanie tekstu 305
- comm – porównywanie dwóch posortowanych plików wiersz po wierszu 305
- diff – porównywanie plików wiersz po wierszu 306
- patch – dołączanie do oryginału pliku z różnicami 309
- Edycja w locie 310
- tr – transliterowanie lub usuwanie znaków 310
- sed – edytor strumieniowy służący do filtrowania i przekształcania tekstu 312
- aspell – interaktywny program do sprawdzania pisowni 320
- Podsumowanie 323
- Dodatkowe informacje 323
21. Formatowanie wyników 325
- Proste narzędzia formatowania 325
- nl – wstawianie numerów wierszy 326
- fold – zawijanie każdego wiersza do określonej długości 329
- fmt – prosty program do formatowania tekstu 329
- pr – formatowanie tekstu do druku 332
- printf – formatowanie i wypisywanie danych 333
- Systemy formatowania dokumentów 336
- groff 337
- Podsumowanie 341
22. Drukowanie 343
- Krótka historia druku 344
- Drukowanie w zamierzchłych czasach 344
- Drukarki oparte na znakach 344
- Drukarki graficzne 345
- Drukowanie w systemie Linux 346
- Przygotowanie plików do druku 347
- pr – przekształcanie plików tekstowych przeznaczonych do druku 347
- Przesyłanie zadania drukowania do drukarki 348
- lpr – drukowanie plików (styl Berkeley) 348
- lp – drukowanie plików (styl Systemu V) 349
- Inna opcja – a2ps 350
- Monitorowanie zadań drukowania i sterowanie nimi 351
- lpstat – wyświetlanie informacji o stanie drukarki 353
- lpq – wyświetlanie statusu kolejki drukarki 353
- lprm i cancel – anulowanie zadań drukowania 354
- Podsumowanie 354
23. Kompilowanie programów 355
- Czym jest kompilowanie? 356
- Czy wszystkie programy są skompilowane? 357
- Kompilowanie programu w języku C 358
- Uzyskiwanie kodu źródłowego 358
- Sprawdzanie zawartości drzewa źródłowego 360
- Budowanie programu 361
- Instalowanie programu 365
- Podsumowanie 366
CZĘŚĆ IV. TWORZENIE SKRYPTÓW POWŁOKI
24. Pisanie pierwszego skryptu 369
- Czym są skrypty powłoki? 369
- Jak napisać skrypt powłoki? 370
- Format pliku skryptu 370
- Uprawnienia do wykonywania 371
- Lokalizacja pliku skryptu 371
- Dobre lokalizacje dla skryptów 373
- Więcej trików formatowania 373
- Długie nazwy opcji 373
- Wcięcia i kontynuacja wierszy 374
- Podsumowanie 375
25. Rozpoczynanie projektu 377
- Pierwszy etap – minimalny dokument 377
- Drugi etap – dodawanie pewnych danych 380
- Zmienne i stałe 380
- Przypisywanie wartości do zmiennych i stałych 383
- Dokumenty włączone 384
- Podsumowanie 387
26. Projektowanie zstępujące 389
- Funkcje powłoki 390
- Zmienne lokalne 393
- Utrzymywanie działania skryptów 394
- Podsumowanie 397
27. Sterowanie przepływem – rozgałęzienia if 399
- Instrukcje if 400
- Status wyjścia 401
- Korzystanie z testu 402
- Funkcje plikowe 402
- Funkcje tekstowe 405
- Funkcje liczbowe 406
- Nowocześniejsza wersja programu test 407
- (( )) – przeznaczone dla liczb całkowitych 409
- Łączenie wyrażeń 410
- Operatory sterowania – inny sposób rozgałęziania 412
- Podsumowanie 413
28. Odczyt wejścia z klawiatury 415
- read – odczyt danych ze standardowego strumienia wejścia 416
- Opcje 418
- IFS 420
- Weryfikacja wejścia 422
- Menu 424
- Podsumowanie 425
- Dodatkowe informacje 426
29. Sterowanie przepływem – pętle while i until 427
- Pętle 428
- while 428
- Ucieczka z pętli 430
- until 432
- Odczyt plików za pomocą pętli 432
- Podsumowanie 433
30. Usuwanie błędów 435
- Błędy składniowe 435
- Brakujące cudzysłowy 436
- Brakujące lub niespodziewane tokeny 437
- Nieprzewidziane interpretacje 437
- Błędy logiczne 439
- Programowanie defensywne 439
- Uwaga na nazwy plików 441
- Weryfikacja wejścia 442
- Testowanie 442
- Przypadki testowe 443
- Debugowanie 444
- Znalezienie miejsca problemu 444
- Śledzenie 445
- Sprawdzanie wartości podczas wykonywania 447
- Podsumowanie 447
31. Sterowanie przepływem – rozgałęzienia case 449
- Polecenie case 449
- Wzorce 451
- Wykonywanie wielu operacji 453
- Podsumowanie 454
32. Parametry pozycyjne 455
- Dostęp do wiersza poleceń 455
- Ustalanie liczby argumentów 457
- shift – uzyskiwanie dostępu do wielu argumentów 457
- Proste programy 459
- Korzystanie z parametrów pozycyjnych wraz z funkcjami powłoki 459
- Masowa obsługa parametrów pozycyjnych 460
- Bardziej kompletne programy 462
- Podsumowanie 465
33. Sterowanie przepływem – pętla for 469
- for – tradycyjna forma powłoki 469
- for – forma języka C 473
- Podsumowanie 474
34. Łańcuchy tekstowe i liczby 477
- Interpretacja parametrów 477
- Podstawowe parametry 478
- Interpretacje służące do zarządzania pustymi zmiennymi 478
- Interpretacje, które zwracają nazwy zmiennych 480
- Operacje na łańcuchach tekstowych 481
- Zmiana wielkości liter 484
- Interpretacja wyrażeń arytmetycznych 486
- Liczby o różnej podstawie 486
- Operatory jednoargumentowe 487
- Prosta arytmetyka 487
- Przypisanie 488
- Operacje bitowe 490
- Logika 491
- bc – język kalkulatora dowolnej precyzji 493
- Korzystanie z bc 494
- Przykładowy skrypt 495
- Podsumowanie 496
- Dodatkowe informacje 496
35. Tablice 497
- Czym są tablice? 497
- Tworzenie tablic 498
- Przypisywanie wartości do tablicy 498
- Dostęp do elementów tablicy 499
- Operacje na tablicach 501
- Wyświetlanie zawartości całej tablicy 501
- Określanie liczby elementów tablicy 502
- Znajdowanie indeksów wykorzystanych przez tablicę 502
- Dodawanie elementów na końcu tablicy 503
- Sortowanie tablicy 503
- Usuwanie tablicy 504
- Tablice asocjacyjne 505
- Podsumowanie 505
36. Egzotyka 507
- Polecenia grupowe i podpowłoki 507
- Substytucja procesu 511
- Pułapki 513
- Wykonywanie asynchroniczne za pomocą polecenia wait 516
- Potoki nazwane 518
- Ustawianie potoku nazwanego 519
- Korzystanie z potoków nazwanych 519
- Podsumowanie 519
Opinie
Na razie nie ma opinii o produkcie.