Linux. Wprowadzenie do wiersza poleceń. Wydanie II - ebook
Linux. Wprowadzenie do wiersza poleceń. Wydanie II - ebook
Komputery są wszędzie, a ich użyteczność stale rośnie. Łącząca je sieć ogromnie zwiększa ich możliwości. Dziś niemal każdy ma dostęp do komputera. Nadeszła era niezwykłego równouprawnienia i kreatywnej wolności. Jednak od jakiegoś czasu widoczny jest odwrotny trend: kilka wielkich korporacji coraz więcej z niej przejmuje i chce dyktować, co wolno, a czego nie wolno wykonać na komputerze. Oprogramowanie open source, zwłaszcza system Linuks, można traktować jako obronę szczególnego rodzaju wolności: możliwości decydowania o tym, co dokładnie robi komputer, bez jakichkolwiek tajemnic i ukrytych wątków. Ta wolność wymaga głębokiej wiedzy i pewnych umiejętności. Ta wolność wymaga posługiwania się wierszem poleceń.
Książka jest kolejnym wydaniem bestsellerowego podręcznika, dzięki któremu już za chwilę możesz zacząć wpisywać pierwsze polecenia w terminalu, aby niespostrzeżenie przejść do tworzenia złożonych skryptów w najnowszej wersji basha 4.x, najpopularniejszej powłoki Linuksa. Przedstawiono tu nowe operatory przekierowania i mechanizmy interpretacji w powłoce. Uaktualniono część dotyczącą skryptów powłoki - zaprezentowano solidne praktyki pisania skryptów oraz sposoby unikania typowych, potencjalnie groźnych błędów. Dzięki książce zdobędziesz cenne umiejętności, takie jak nawigacja w systemie plików, konfigurowanie środowiska, łączenie poleceń oraz dopasowywanie wzorców za pomocą wyrażeń regularnych. Przekonasz się, że bez myszy możesz kontrolować swój komputer na nieosiągalnym dotychczas poziomie!
Najciekawsze zagadnienia:
- tworzenie i usuwanie plików, katalogów i dowiązań symbolicznych
- administrowanie systemem, w tym zarządzanie procesami
- stosowanie standardowego wejścia i wyjścia, przekierowań oraz potoków
- praca z vi
- skrypty powłoki służące do automatyzacji zadań
- polecenia cut, paste, grep, patch, sed i wiele innych
Odzyskaj kontrolę nad swoim komputerem - zapomnij o myszy!
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 doplikó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
Kategoria: | Systemy operacyjne |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-6763-0 |
Rozmiar pliku: | 3,5 MB |