Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00359 008553 10455151 na godz. na dobę w sumie
Linux dla programistów i użytkowników - książka
Linux dla programistów i użytkowników - książka
Autor: , Liczba stron: 648
Wydawca: Helion Język publikacji: polski
ISBN: 83-246-0504-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> systemy operacyjne >> linux
Porównaj ceny (książka, ebook, audiobook).

Szczegółowe omówienie systemu Linux

Linux, napisany w ramach studenckich laboratoriów, w ciągu kilku lat stał się niezwykle popularnym systemem operacyjnym. Jego stabilność i niezawodność doceniają już nie tylko profesjonaliści, ale także użytkownicy domowi, dla których dostępny nieodpłatnie produkt coraz częściej jest alternatywą dla komercyjnych systemów operacyjnych. Linux święci triumfy nie tylko jako baza dla wydajnych i bezpiecznych serwerów sieciowych, ale również jest wykorzystywany w stacjach roboczych oraz komputerach domowych używanych do pracy, rozrywki i przeglądania zasobów internetowych. Dla Linuksa powstaje coraz więcej oprogramowania, również dostępnego nieodpłatnie i w niczym nieustępującego narzędziom komercyjnym.

'Linux dla programistów i użytkowników' to doskonały przewodnik po tym systemie operacyjnym. Omawia zagadnienia związane z programowaniem i przedstawia je z perspektywy użytkownika. Czytając go, dowiesz się, jakie dystrybucje Linuksa możesz znaleźć na rynku oraz jak zainstalować system i skonfigurować go. Nauczysz się korzystać z powłok tekstowych i środowisk graficznych, pracować w sieci i łączyć się z internetem. Poznasz tajniki programowania w języku C dla systemu Linux, napiszesz własne narzędzia oraz zobaczysz, w jaki sposób działa system. Przeczytasz także o podstawowych zadaniach administratora Linuksa.

Poznaj system operacyjny,
który zrewolucjonizował współczesną informatykę.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREœCI SPIS TREœCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOœCIACH O NOWOœCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl COM+. Kompendium programisty Autorzy: Graham Glass, King Ables T³umaczenie: Marcin Rogó¿ ISBN: 978-83-246-0504-0 Tytu³ orygina³u: Linux for Programmers and Users Format: B5, stron: 648 Szczegó³owe omówienie systemu Linux (cid:129) Instalacja, konfiguracja i uruchamianie (cid:129) Praca z pow³okami tekstowymi (cid:129) Programowanie w C (cid:129) œrodowiska graficzne Linux, napisany w ramach studenckich laboratoriów, w ci¹gu kilku lat sta³ siê niezwykle popularnym systemem operacyjnym. Jego stabilnoœæ i niezawodnoœæ doceniaj¹ ju¿ nie tylko profesjonaliœci, ale tak¿e u¿ytkownicy domowi, dla których dostêpny nieodp³atnie produkt coraz czêœciej jest alternatyw¹ dla komercyjnych systemów operacyjnych. Linux œwiêci triumfy nie tylko jako baza dla wydajnych i bezpiecznych serwerów sieciowych, ale równie¿ jest wykorzystywany w stacjach roboczych oraz komputerach domowych u¿ywanych do pracy, rozrywki i przegl¹dania zasobów internetowych. Dla Linuksa powstaje coraz wiêcej oprogramowania, równie¿ dostêpnego nieodp³atnie i w niczym nieustêpuj¹cego narzêdziom komercyjnym. „Linux dla programistów i u¿ytkowników” to doskona³y przewodnik po tym systemie operacyjnym. Omawia zagadnienia zwi¹zane z programowaniem i przedstawia je z perspektywy u¿ytkownika. Czytaj¹c go, dowiesz siê, jakie dystrybucje Linuksa mo¿esz znaleŸæ na rynku oraz jak zainstalowaæ system i skonfigurowaæ go. Nauczysz siê korzystaæ z pow³ok tekstowych i œrodowisk graficznych, pracowaæ w sieci i ³¹czyæ siê z internetem. Poznasz tajniki programowania w jêzyku C dla systemu Linux, napiszesz w³asne narzêdzia oraz zobaczysz, w jaki sposób dzia³a system. Przeczytasz tak¿e o podstawowych zadaniach administratora Linuksa. (cid:129) Wybór dystrybucji (cid:129) Instalacja systemu (cid:129) Podstawowe narzêdzia dla u¿ytkowników (cid:129) Przetwarzanie plików tekstowych (cid:129) Operacje na systemie plików (cid:129) Pow³oki Bash, Korn i C (cid:129) Linux w sieci (cid:129) œrodowiska graficzne (cid:129) J¹dro Linuksa (cid:129) Administrowanie systemem Poznaj system operacyjny, który zrewolucjonizowa³ wspó³czesn¹ informatykê Przedmowa .................................................................................... 19 Rozdział 1. Czym jest Linux? ............................................................................ 27 1.1. Systemy komputerowe .......................................................................................... 28 1.2. Sprzęt .................................................................................................................... 28 1.2.1. Procesor .................................................................................................. 28 1.2.2. Magistrala ............................................................................................... 28 1.2.3. Pamięć RAM .......................................................................................... 29 1.2.4. Pamięć ROM .......................................................................................... 29 1.2.5. Dyski ...................................................................................................... 30 1.2.6. Napędy CD-ROM ................................................................................... 30 1.2.7. Monitor ................................................................................................... 30 1.2.8. Karta graficzna ....................................................................................... 30 1.2.9. Klawiatura .............................................................................................. 30 1.2.10. Myszka ................................................................................................... 30 1.2.11. Drukarka ................................................................................................. 31 1.2.12. Napędy taśmowe .................................................................................... 31 1.2.13. Modem .................................................................................................... 31 1.2.14. Interfejs sieciowy ................................................................................... 31 1.2.15. Inne urządzenia peryferyjne ................................................................... 31 1.3. System operacyjny ................................................................................................ 31 1.4. Oprogramowanie .................................................................................................. 32 1.5. Dzielenie zasobów ................................................................................................ 33 1.6. Komunikacja ......................................................................................................... 33 1.7. Narzędzia .............................................................................................................. 34 1.8. Wspomaganie programistów ................................................................................ 35 1.9. Standardy .............................................................................................................. 35 1.10. Historia Linuksa .................................................................................................... 36 1.10.1. UNIX ...................................................................................................... 36 1.10.2. Open Source Software i Free Software Foundation ............................... 37 1.10.3. Linus ....................................................................................................... 39 1.11. Pakiety z Linuksem ............................................................................................... 39 1.12. Filozofia Linuksa i UNIX-a .................................................................................. 40 1.13. Cechy Linuksa ...................................................................................................... 41 1.14. W dalszych rozdziałach ........................................................................................ 42 6 Linux dla programistów i użytkowników Rozdział 2. Instalowanie Linuksa ...................................................................... 45 2.1. Wstęp .................................................................................................................... 46 2.2. Upewnij się, że masz odpowiedni sprzęt .............................................................. 46 2.2.1. Jednostka centralna (procesor) ............................................................... 46 2.2.2. Architektura magistrali ........................................................................... 47 2.2.3. Pamięć .................................................................................................... 47 2.2.4. Dysk ........................................................................................................ 48 2.2.5. Monitor, klawiatura i myszka ................................................................. 48 2.3. Wybór dystrybucji ................................................................................................ 49 2.3.1. Debian .................................................................................................... 49 2.3.2. Fedora ..................................................................................................... 50 2.3.3. Mandriva ................................................................................................ 51 2.3.4. Slackware ............................................................................................... 51 2.3.5. SuSE ....................................................................................................... 52 2.3.6. TurboLinux ............................................................................................. 52 2.4. Rozważ opcjonalne pakiety oprogramowania ...................................................... 53 2.4.1. System X Window .................................................................................. 53 2.4.2. Środowiska graficzne ............................................................................. 53 2.4.3. Obsługa sieci .......................................................................................... 55 2.4.4. Narzędzia biurowe .................................................................................. 57 2.4.5. Narzędzia programistyczne i języki programowania ............................. 57 2.5. Zaprojektuj swój system ....................................................................................... 58 2.5.1. W jaki sposób ma być uruchamiany Linux? .......................................... 58 2.5.2. Partycjonowanie dysku ........................................................................... 59 2.5.3. System plików Linuksa .......................................................................... 60 2.5.4. Programy rozruchowe (ładujące) ........................................................... 63 2.5.5. Dyskietka startowa ................................................................................. 64 2.6. Zdobądź Linuksa .................................................................................................. 64 2.6.1. Dyski CD-ROM ..................................................................................... 65 2.6.2. Pobieranie ............................................................................................... 65 2.7. Instalacja Linuksa ................................................................................................. 66 2.7.1. Zdobądź dokumentację swojej dystrybucji ............................................ 66 2.7.2. Uruchomienie ......................................................................................... 67 2.7.3. Partycjonowanie dysków ........................................................................ 67 2.7.4. Zmiana rozmiaru partycji Windows ....................................................... 69 2.7.5. Konfigurowanie systemu ........................................................................ 69 2.7.6. Program rozruchowy .............................................................................. 70 Rozdział 3. Narzędzia GNU dla zwykłych użytkowników ..................................... 73 3.1. Uzyskiwanie konta ................................................................................................ 74 3.2. Logowanie ............................................................................................................ 75 3.3. Powłoki ................................................................................................................. 76 3.4. Uruchamianie narzędzi GNU ............................................................................... 76 3.5. Kanały wejścia, wyjścia i błędu ............................................................................ 77 3.6. Uzyskiwanie pomocy — man ............................................................................... 78 3.7. Znaki specjalne ..................................................................................................... 80 3.7.1. Przerywanie procesu — Control+C ....................................................... 81 3.7.2. Koniec danych wejściowych — Control+D ........................................... 81 3.8. Ustanawianie własnego hasła — passwd ............................................................. 81 3.9. Wylogowanie ........................................................................................................ 82 3.10. Poezja w działaniu — eksplorowanie systemu plików ......................................... 83 3.11. Wyświetlanie nazwy bieżącego katalogu roboczego — pwd ............................... 83 3.12. Względne i bezwzględne ścieżki dostępu ............................................................. 85 3.13. Tworzenie pliku .................................................................................................... 86 Spis treści 7 3.14. Wyświetlanie zawartości katalogu — ls ............................................................... 87 3.15. Wyświetlanie zawartości pliku — cat, more, head i tail ...................................... 88 3.16. Zmienianie nazwy pliku — mv ............................................................................ 89 3.17. Tworzenie katalogu — mkdir ............................................................................... 90 3.18. Przechodzenie do innego katalogu — cd .............................................................. 91 3.19. Kopiowanie pliku — cp ........................................................................................ 92 3.20. Edycja pliku — vim .............................................................................................. 92 3.21. Usuwanie katalogu — rmdir ................................................................................. 93 3.22. Usuwanie pliku — rm ........................................................................................... 94 3.23. Drukowanie pliku — lp, lpstat i cancel ................................................................ 95 3.24. Drukowanie pliku — lpr, lpq i lprm ....................................................................... 96 3.25. Liczenie słów w pliku — wc ................................................................................ 98 3.26. Atrybuty pliku ....................................................................................................... 98 3.26.1. Przechowywanie pliku ........................................................................... 99 3.26.2. Nazwy plików ......................................................................................... 99 3.26.3. Data i czas modyfikacji pliku ............................................................... 100 3.26.4. Właściciel pliku .................................................................................... 100 3.26.5. Grupa pliku ........................................................................................... 100 3.26.6. Typy plików ......................................................................................... 101 3.26.7. Prawa dostępu do plików ..................................................................... 102 3.26.8. Liczba twardych dowiązań do pliku ..................................................... 104 3.27. Grupy .................................................................................................................. 104 3.28. Wyświetlanie grup, do których należysz — groups ........................................... 105 3.29. Zmienianie grupy właścicieli pliku — chgrp ..................................................... 105 3.30. Zmienianie praw dostępu do pliku — chmod ...................................................... 106 3.31. Zmienianie właściciela pliku — chown .............................................................. 108 3.32. Zmiana grupy — newgrp .................................................................................... 108 3.33. Poezja w działaniu — epilog .............................................................................. 109 3.34. Określanie typu terminala — tset ....................................................................... 109 3.35. Zmienianie charakterystyk terminala — stty ...................................................... 112 3.36. Edycja pliku — vim ............................................................................................ 113 3.36.1. Uruchamianie vim ................................................................................ 114 3.36.2. Tryb wprowadzania tekstu ................................................................... 114 3.36.3. Tryb wydawania poleceń ...................................................................... 115 3.36.4. Bufor pamięci i pliki tymczasowe ........................................................ 116 3.36.5. Popularne funkcje edycyjne ................................................................. 117 3.36.6. Przemieszczanie kursora ...................................................................... 117 3.36.7. Usuwanie tekstu ................................................................................... 117 3.36.8. Zamienianie tekstu ............................................................................... 119 3.36.9. Wklejanie tekstu ................................................................................... 119 3.36.10. Wyszukiwanie ...................................................................................... 120 3.36.11. Wyszukiwanie i zamienianie ................................................................ 121 3.36.12. Zapisywanie i odczytywanie pliku ....................................................... 121 3.36.13. Inne ....................................................................................................... 122 3.36.14. Dostosowywanie vim ........................................................................... 123 3.36.15. Zachowywanie ustawień ...................................................................... 123 3.37. Edycja pliku — emacs ........................................................................................ 124 3.37.1. Uruchamianie edytora emacs ............................................................... 125 3.37.2. Polecenia edytora emacs ...................................................................... 125 3.37.3. Wydobywanie się z kłopotów .............................................................. 126 3.37.4. Uzyskiwanie pomocy ........................................................................... 126 3.37.5. Opuszczanie edytora emacs .................................................................. 127 3.37.6. Tryby działania edytora emacs ............................................................. 127 3.37.7. Wpisywanie tekstu ............................................................................... 127 8 Linux dla programistów i użytkowników 3.37.8. Popularne funkcje edycyjne ................................................................. 127 3.37.9. Przemieszczanie kursora ...................................................................... 128 3.37.10. Usuwanie, wklejanie i cofanie zmian ................................................... 128 3.37.11. Wyszukiwanie ...................................................................................... 129 3.37.12. Wyszukiwanie i zastępowanie .............................................................. 129 3.37.13. Zapisywanie i ładowanie plików .......................................................... 130 3.37.14. Inne ....................................................................................................... 130 3.38. Poczta elektroniczna — mail .............................................................................. 130 3.38.1. Wysyłanie poczty ................................................................................. 131 3.38.2. Czytanie poczty .................................................................................... 133 3.38.3. Kontaktowanie się z administratorem systemu .................................... 135 Rozdział 4. Narzędzia GNU dla zaawansowanych użytkowników ....................... 137 4.1. Wprowadzenie .................................................................................................... 138 4.2. Filtrowanie plików — grep, egrep, fgrep i uniq ................................................. 138 4.2.1. Filtrowanie według wzorca — egrep, fgrep, grep ................................ 139 4.2.2. Usuwanie powtarzających się wierszy — uniq .................................... 142 4.3. Sortowanie plików — sort .................................................................................. 143 4.4. Porównywanie plików — cmp i diff .................................................................. 146 4.4.1. Sprawdzanie identyczności — cmp ..................................................... 146 4.4.2. Różnice w plikach — diff .................................................................... 147 4.5. Wyszukiwanie plików — find ............................................................................ 148 4.6. Archiwizowanie plików — cpio, tar, dump i restore .......................................... 150 4.6.1. Kopiowanie plików — cpio ................................................................. 151 4.6.2. Archiwizowanie na taśmie — tar ......................................................... 153 4.6.3. Tworzenie przyrostowych kopii zapasowych — dump i restore ......... 155 4.7. Ustalanie harmonogramu wywoływania poleceń — cron i at ............................ 156 4.7.1. Cykliczne uruchamianie — crontab ..................................................... 157 4.7.2. Jednokrotne uruchamianie zadania w przyszłości — at ....................... 158 4.8. Programowalne przetwarzanie tekstu — gawk .................................................. 160 4.8.1. Programy gawk ..................................................................................... 161 4.8.2. Dostęp do pojedynczych pól ................................................................ 162 4.8.3. BEGIN i END ...................................................................................... 162 4.8.4. Operatory .............................................................................................. 162 4.8.5. Zmienne ................................................................................................ 163 4.8.6. Struktury sterujące ................................................................................ 163 4.8.7. Rozszerzone wyrażenia regularne ........................................................ 164 4.8.8. Zasięg warunków ................................................................................. 164 4.8.9. Separatory pól ....................................................................................... 164 4.8.10. Funkcje wbudowane ............................................................................. 165 4.9. Dowiązania twarde i symboliczne — ln ............................................................. 165 4.10.Identyfikowanie powłok — whoami .................................................................. 167 4.11. Zmienianie użytkownika — su ........................................................................... 167 4.12. Przekształcanie plików ....................................................................................... 168 4.12.1. Kompresowanie plików — gzip i gunzip ............................................. 169 4.12.2. Edycja strumienia — sed ...................................................................... 169 4.12.3. Konwertowanie znaków — tr ............................................................... 173 4.12.4. Konwersja sekwencji podkreślających — ul ........................................ 174 4.13.Przeglądanie surowej zawartości pliku — od ..................................................... 175 4.14.Montowanie systemów plików — mount i umount ........................................... 176 4.15. Identyfikowanie terminali — tty ........................................................................ 177 4.16. Pomiar czasu wykonania — time ....................................................................... 177 Spis treści 9 4.17.Tworzenie własnych programów — Perl ........................................................... 178 4.17.1. Skąd wziąć Perla? ................................................................................. 179 4.17.2. Uruchamianie Perla .............................................................................. 179 4.17.3. Wyświetlanie tekstu ............................................................................. 179 4.17.4. Zmienne, łańcuchy i liczby całkowite .................................................. 180 4.17.5. Tablice .................................................................................................. 180 4.17.6. Operatory matematyczne i logiczne ..................................................... 182 4.17.7. Operatory łańcuchów ........................................................................... 183 4.17.8. Operatory porównania .......................................................................... 183 4.17.9. Pętle — if, while, for i foreach ............................................................. 184 4.17.10. Obsługa plików ..................................................................................... 185 4.17.11. Funkcje ................................................................................................. 185 4.17.12. Funkcje biblioteczne ............................................................................. 186 4.17.13. Odczytywanie argumentów z wiersza poleceń .................................... 187 4.17.14. Praktyczny przykład ............................................................................. 188 Rozdział 5. Powłoki systemu Linux ................................................................. 193 5.1. Wprowadzanie .................................................................................................... 194 5.2. Wybór powłoki ................................................................................................... 195 5.3. Operacje powłoki ................................................................................................ 196 5.4. Pliki wykonywalne a wbudowane polecenia ...................................................... 197 5.4.1. Wyświetlanie informacji — echo ......................................................... 197 5.4.2. Zmiana katalogu — cd ......................................................................... 198 5.5. Metaznaki ........................................................................................................... 198 5.6. Przekierowanie ................................................................................................... 199 5.6.1. Przekierowanie wyjścia ........................................................................ 199 5.6.2. Przekierowanie wejścia ........................................................................ 200 5.7. Symbole wieloznaczne w nazwach plików ........................................................ 201 5.7.1. Potoki .................................................................................................... 202 5.8. Zastępowanie poleceniem ................................................................................... 204 5.9. Sekwencje ........................................................................................................... 204 5.9.1. Sekwencje warunkowe ......................................................................... 205 5.10. Grupowanie poleceń ........................................................................................... 205 5.11. Przetwarzanie w tle ............................................................................................. 206 5.12.Przekierowanie procesów działających w tle ..................................................... 207 5.13. Programy powłoki (skrypty) ............................................................................... 208 5.14. Podpowłoki lub powłoki potomne ...................................................................... 209 5.15. Zmienne .............................................................................................................. 210 5.16. Cytowanie ........................................................................................................... 212 5.17. Dokumenty wbudowane ..................................................................................... 213 5.18. Sterowanie zadaniami ......................................................................................... 214 5.18.1. Status procesu — ps ............................................................................. 214 5.18.2. Wysyłanie sygnałów do procesów — kill ............................................ 217 5.18.3. Oczekiwanie na proces potomny — wait ............................................. 218 5.19. Wyszukiwanie poleceń — $PATH ..................................................................... 219 5.20.Zastępowanie standardowych narzędzi .............................................................. 220 5.21.Kończenie działania i kody wyjścia .................................................................... 221 5.22. Wspólne polecenia wbudowane ......................................................................... 222 5.22.1. Polecenie eval ....................................................................................... 222 5.22.2. Polecenie exec ...................................................................................... 222 5.22.3. Polecenie shift ...................................................................................... 223 5.22.4. Polecenie umask ................................................................................... 223 10 Linux dla programistów i użytkowników Rozdział 6. Powłoka Bourne Again ................................................................. 227 6.1. Wprowadzenie .................................................................................................... 228 6.2. Rozpoczynanie sesji ............................................................................................ 229 6.3. Zmienne .............................................................................................................. 229 6.3.1. Tworzenie prostych zmiennych ............................................................ 230 6.3.2. Odwołania do zmiennych ..................................................................... 230 6.3.3. Tworzenie tablic ................................................................................... 233 6.3.4. Odwołania do tablic .............................................................................. 233 6.3.5. Tworzenie tablic ................................................................................... 234 6.3.6. Niszczenie tablic ................................................................................... 235 6.3.7. Odczytywanie zmiennej ze standardowego wejścia ............................ 235 6.3.8. Eksportowanie zmiennych ................................................................... 236 6.3.9. Zmienne tylko do odczytu .................................................................... 237 6.3.10. Zmienne predefiniowane ...................................................................... 238 6.4. Skróty poleceń .................................................................................................... 240 6.4.1. Aliasy .................................................................................................... 240 6.4.2. Historia poleceń .................................................................................... 241 6.4.3. Automatyczne uzupełnianie ................................................................. 243 6.5. Zastępowanie znaku tyldy .................................................................................. 243 6.6. Przekierowanie ................................................................................................... 244 6.7. Podstawianie poleceniem .................................................................................... 245 6.8. Arytmetyka ......................................................................................................... 245 6.9. Wyrażenia warunkowe ....................................................................................... 246 6.9.1. Porównania arytmetyczne .................................................................... 246 6.9.2. Porównywanie łańcuchów .................................................................... 247 6.9.3. Wyrażenia warunkowe dla plików ....................................................... 247 6.10. Struktury sterujące .............................................................................................. 247 6.10.1. Instrukcja case .. in .. esac .................................................................... 248 6.10.2. Instrukcja if .. then .. elif .. then .. else .. fi ........................................... 250 6.10.3. Instrukcja for .. do .. done ..................................................................... 251 6.10.4. Instrukcja while/until .. do .. done ........................................................ 251 6.10.5. Instrukcja trap ....................................................................................... 253 6.11. Funkcje ............................................................................................................... 253 6.11.1. Używanie parametrów .......................................................................... 254 6.11.2. Zwracanie wyniku funkcji .................................................................... 255 6.11.3. Dostęp do funkcji ................................................................................. 255 6.11.4. Rekurencja ............................................................................................ 256 6.11.5. Współdzielenie funkcji ......................................................................... 257 6.12. Tworzenie menu — select .................................................................................. 257 6.13.Dostęp do katalogów i stos katalogów ............................................................... 259 6.14. Sterowanie zadaniami ......................................................................................... 260 6.14.1. Wskazywanie zadania .......................................................................... 261 6.14.2. Polecenie bg ......................................................................................... 261 6.14.3. Polecenie fg .......................................................................................... 261 6.14.4. Polecenie kill ........................................................................................ 262 6.15. Opcje powłoki ..................................................................................................... 262 Rozdział 7. Powłoka Korn ............................................................................... 265 7.1. Wprowadzenie .................................................................................................... 266 7.2. Rozpoczynanie sesji ............................................................................................ 267 7.3. Zmienne .............................................................................................................. 268 7.3.1. Tworzenie (przypisywanie wartości) zmiennej .................................... 268 7.3.2. Odwołania do zmiennych ..................................................................... 269 7.3.3. Odczytywanie zmiennych ze standardowego wejścia .......................... 270 Spis treści 11 7.3.4. Eksportowanie zmiennych ................................................................... 271 7.3.5. Zmienne tylko do odczytu .................................................................... 272 7.3.6. Predefiniowane zmienne lokalne .......................................................... 273 7.3.7. Predefiniowane zmienne środowiska ................................................... 274 7.4. Aliasy .................................................................................................................. 274 7.4.1. Przypisywanie aliasów poleceniom wbudowanym .............................. 275 7.4.2. Usuwanie aliasów ................................................................................. 275 7.4.3. Predefiniowane aliasy ........................................................................... 276 7.4.4. Przydatne aliasy .................................................................................... 276 7.4.5. Aliasy śledzone ..................................................................................... 277 7.4.6. Współdzielenie aliasów ........................................................................ 277 7.5. Historia ............................................................................................................... 278 7.5.1. Polecenia numerowane ......................................................................... 278 7.5.2. Przechowywanie poleceń ..................................................................... 278 7.5.3. Ponowne wykonywanie poleceń .......................................................... 279 7.5.4. Edycja poleceń ..................................................................................... 279 7.6. Edycja poleceń .................................................................................................... 281 7.6.1. Wbudowany edytor — vi ..................................................................... 281 7.6.2. Wbudowany edytor — emacs i gmacs ................................................. 283 7.7. Arytmetyka ......................................................................................................... 284 7.7.1. Zapobieganie interpretacji metaznaków ............................................... 285 7.7.2. Sprawdzanie wartości ........................................................................... 285 7.8. Zastępowanie tyldy ............................................................................................. 285 7.9. Tworzenie menu — select .................................................................................. 286 7.10. Funkcje ............................................................................................................... 287 7.10.1. Używanie parametrów .......................................................................... 288 7.10.2. Zwracanie wyniku funkcji .................................................................... 289 7.10.3. Kontekst ................................................................................................ 289 7.10.4. Zmienne lokalne ................................................................................... 289 7.10.5. Rekurencja ............................................................................................ 290 7.10.6. Współdzielenie funkcji ......................................................................... 291 7.11. Sterowanie zadaniami ......................................................................................... 291 7.11.1. Polecenie jobs ....................................................................................... 292 7.11.2. Wskazywanie zadania .......................................................................... 292 7.11.3. Polecenie bg ......................................................................................... 293 7.11.4. Polecenie fg .......................................................................................... 293 7.11.5. Polecenie kill ........................................................................................ 293 7.12. Udoskonalenia .................................................................................................... 294 7.12.1. Przekierowanie ..................................................................................... 294 7.12.2. Potoki .................................................................................................... 295 7.12.3. Zastępowanie poleceniem .................................................................... 295 7.12.4. Zmienne ................................................................................................ 296 7.12.5. Polecenia wbudowane .......................................................................... 301 7.13. Przykładowy projekt — śmieci .......................................................................... 306 7.14. Opcje startowe powłoki ...................................................................................... 308 Rozdział 8. Powłoka C ................................................................................... 311 8.1. Wprowadzenie .................................................................................................... 312 8.2. Rozpoczynanie sesji ............................................................................................ 312 8.3. Zmienne .............................................................................................................. 314 8.3.1. Tworzenie prostych zmiennych i przypisywanie im wartości ............. 314 8.3.2. Odwołania do prostych zmiennych ...................................................... 315 8.3.3. Tworzenie zmiennych tablicowych i przypisywanie im wartości ........ 315 8.3.4. Dostęp do wartości zmiennej tablicowej .............................................. 316 12 Linux dla programistów i użytkowników 8.3.5. Budowanie tablic .................................................................................. 317 8.3.6. Predefiniowane zmienne lokalne .......................................................... 317 8.3.7. Tworzenie zmiennych środowiska i przypisywanie im wartości ......... 317 8.3.8. Predefiniowane zmienne środowiska ................................................... 319 8.4. Wyrażenia ........................................................................................................... 319 8.4.1. Wyrażenia łańcuchowe ......................................................................... 319 8.4.2. Wyrażenia arytmetyczne ...................................................................... 320 8.4.3. Wyrażenia stosowane w pracy z plikami ............................................. 321 8.5. Uzupełnianie nazw plików ................................................................................. 322 8.6. Edycja poleceń .................................................................................................... 323 8.7. Aliasy .................................................................................................................. 323 8.7.1. Usuwanie aliasów ................................................................................. 324 8.7.2. Przydatne aliasy .................................................................................... 324 8.7.3. Współdzielenie aliasów ........................................................................ 324 8.7.4. Aliasy z parametrami ............................................................................ 325 8.8. Historia ............................................................................................................... 325 8.8.1. Numerowane polecenia ........................................................................ 326 8.8.2. Przechowywanie poleceń ..................................................................... 326 8.8.3. Odczytywanie historii ........................................................................... 326 8.8.4. Ponowne wykonywanie poleceń .......................................................... 327 8.8.5. Dostęp do fragmentów historii ............................................................. 327 8.8.6. Dostęp do fragmentów nazw plików .................................................... 328 8.8.7. Zastępowanie historii ........................................................................... 329 8.9. Struktury sterujące .............................................................................................. 329 8.9.1. Pętla foreach .. end ............................................................................... 330 8.9.2. Polecenie goto ...................................................................................... 330 8.9.3. Instrukcje warunkowe if .. then .. else ..endif ....................................... 331 8.9.4. Polecenie onintr .................................................................................... 332 8.9.5. Polecenie repeat .................................................................................... 333 8.9.6. Instrukcja switch .. case .. endsw ......................................................... 333 8.9.7. Polecenie while .. end ........................................................................... 335 8.10. Przykładowy projekt — smieci .......................................................................... 335 8.11. Rozszerzenia ....................................................................................................... 337 8.11.1. Metaznaki {} ........................................................................................ 338 8.11.2. Rozwijanie nazw plików ...................................................................... 338 8.11.3. Przekierowanie ..................................................................................... 339 8.11.4. Potoki .................................................................................................... 339 8.11.5. Sterowanie zadaniami ........................................................................... 340 8.11.6. Kończenie działania powłoki logowania .............................................. 342 8.12. Polecenia wbudowane ........................................................................................ 342 8.12.1. Polecenie chdir ..................................................................................... 343 8.12.2. Polecenie glob ...................................................................................... 343 8.12.3. Polecenie source ................................................................................... 343 8.13. Stos katalogów .................................................................................................... 344 8.13.1. Tablica asocjacyjna .............................................................................. 345 8.14. Opcje startowe powłoki ...................................................................................... 346 Rozdział 9. Sieci i internet ............................................................................. 349 9.1. Wprowadzenie .................................................................................................... 350 9.2. Budowa sieci ....................................................................................................... 351 9.2.1. Ethernet ................................................................................................ 351 9.2.2. Mosty .................................................................................................... 352 9.2.3. Routery ................................................................................................. 352 9.2.4. Bramy ................................................................................................... 353 Spis treści 13 9.3. Praca w sieci złożonej ......................................................................................... 353 9.3.1. Transmisja pakietowa ........................................................................... 354 9.3.2. Adresy IP .............................................................................................. 354 9.3.3. Nazwy ................................................................................................... 356 9.3.4. Trasowanie ........................................................................................... 356 9.3.5. Bezpieczeństwo .................................................................................... 356 9.3.6. Porty i popularne usługi ....................................................................... 358 9.3.7. Programowanie sieci ............................................................................ 359 9.4. Identyfikowanie użytkowników sieci ................................................................. 359 9.4.1. Wyświetlanie użytkowników — users ................................................. 359 9.4.2. Więcej informacji o użytkownikach — who i w .................................. 359 9.4.3. Nazwa Twojego hosta — hostname ..................................................... 360 9.4.4. Dane osobiste — finger ........................................................................ 360 9.5. Komunikowanie się z użytkownikami sieci ....................................................... 361 9.5.1. Ochrona przed komunikacją — mesg .................................................. 362 9.5.2. Wysyłanie pojedynczych wierszy — write .......................................... 362 9.5.3. Interaktywne rozmowy — talk ............................................................. 363 9.5.4. Wiadomości do wszystkich — wall ..................................................... 363 9.6. Przesyłanie danych ............................................................................................. 364 9.6.1. Kopiowanie plików pomiędzy dwoma hostami pracującymi pod kontrolą systemu Linux lub UNIX — rcp i scp ............................ 365 9.6.2. Kopiowanie plików pomiędzy hostami niepracującymi pod kontrolą systemu Linux lub UNIX — ftp i sftp ............................ 365 9.7. Przetwarzanie rozproszone ................................................................................. 368 9.7.1. Zdalne demony logowania — rlogin i slogin ....................................... 368 9.7.2. Zdalne wykonywanie poleceń — rsh i ssh ........................................... 368 9.7.3. Połączenia zdalne — telnet .................................................................. 370 9.8. Ewolucja internetu .............................................................................................. 372 9.8.1. Początki — lata sześćdziesiąte ............................................................. 373 9.8.2. Standaryzacja internetu — lata siedemdziesiąte .................................. 374 9.8.3. Rekonstrukcja i zmiana nazwy internetu — lata osiemdziesiąte ......... 376 9.8.4. Pajęczyna — lata dziewięćdziesiąte ..................................................... 379 9.9. Korzystanie ze współczesnego internetu ............................................................ 384 9.9.1. URL ...................................................................................................... 385 9.9.2. Przeszukiwanie sieci WWW ................................................................ 386 9.9.3. Wyszukiwanie użytkowników i domen ............................................... 386 Rozdział 10. Środowisko graficzne w Linuksie ................................................... 389 10.1. Wprowadzenie .................................................................................................... 390 10.1.1. Graficzny interfejs użytkownika (GUI) ............................................... 390 10.1.2. MIT ....................................................................................................... 391 10.2. Serwery X ........................................................................................................... 391 10.2.1. Geometria ekranu ................................................................................. 392 10.2.2. Bezpieczeństwo i uwierzytelnianie ...................................................... 393 10.3. Środowiska graficzne .......................................................................................... 394 10.3.1. CDE ...................................................................................................... 394 10.3.2. GNOME ............................................................................................... 395 10.3.3. KDE ...................................................................................................... 395 10.4. Menedżer okien .................................................................................................. 396 10.4.1. Aktywność okna ................................................................................... 396 10.4.2. Uruchamianie programów .................................................................... 396 10.4.3. Okna otwarte i zamknięte ..................................................................... 397 10.4.4. Wybór ................................................................................................... 398 14 Linux dla programistów i użytkowników 10.5. Formanty ............................................................................................................. 400 10.5.1. Menu ..................................................................................................... 400 10.5.2. Przyciski ............................................................................................... 400 10.5.3. Pola wyboru i przyciski opcji ............................................................... 401 10.5.4. Paski przewijania .................................................................................. 402 10.6.Operacje w środowisku graficznym ................................................................... 402 10.6.1. Przywoływanie głównego menu .......................................................... 402 10.6.2. Otwieranie i zamykanie okna ............................................................... 403 10.6.3. Minimalizowanie okna ......................................................................... 403 10.6.4. Maksymalizowanie okna ...................................................................... 404 10.6.5. Przesuwanie okna ................................................................................. 404 10.6.6. Zmiana rozmiaru okna .......................................................................... 404 10.6.7. Przenoszenie okna na spód lub na wierzch .......................................... 404 10.6.8. Przywoływanie menu okna .................................................................. 404 10.7. Aplikacje klienckie ............................................................................................. 404 10.7.1. Polecenie xclock ................................................................................... 405 10.7.2. Polecenie xterm .................................................................................... 406 10.8.Standardowe argumenty klientów X .................................................................. 406 10.8.1. Geometria ............................................................................................. 406 10.8.2. Tło i pierwszy plan ............................................................................... 406 10.8.3. Opcja title ............................................................................................. 407 10.8.4. Opcja iconic .......................................................................................... 407 10.9. Tematy zaawansowane ....................................................................................... 407 10.9.1. Kopiuj i wklej ....................................................................................... 407 10.9.2. Korzystanie z sieci ................................................................................ 408 10.9.3. Zasoby aplikacji ................................................................................... 409 Rozdział 11. Programowanie w C ..................................................................... 413 11.1. Język C ................................................................................................................ 414 11.2. Kompilatory języka C ......................................................................................... 414 11.3.Program złożony z jednego modułu ................................................................... 415 11.3.1. Kompilowanie programu C .................................................................. 416 11.3.2. Kod źródłowy poprawnej wersji programu wspak ............................... 417 11.3.3. Uruchamianie programu napisanego w C ............................................ 417 11.3.4. Nadawanie własnej nazwy plikowi wykonywalnemu .......................... 418 11.4. Programy wielomodułowe .................................................................................. 418 11.4.1. Funkcje wielokrotnego użytku ............................................................. 419 11.4.2. Przygotowywanie funkcji wielokrotnego użytku ................................. 419 11.4.3. Oddzielne kompilowanie i konsolidacja modułów .............................. 420 11.4.4. Powtórne użycie funkcji wspak ............................................................ 421 11.5. Archiwizacja modułów — ar .............................................................................. 422 11.5.1. Tworzenie lub dodawanie pliku ........................................................... 423 11.5.2. Dołączanie pliku ................................................................................... 423 11.5.3. Spis zawartości archiwum .................................................................... 423 11.5.4. Usuwanie pliku ..................................................................................... 423 11.5.5. Wydobywanie pliku z archiwum .......................................................... 423 11.5.6. Zarządzanie archiwum z wiersza poleceń ............................................ 424 11.5.7. Indeksowanie archiwów ....................................................................... 424 11.5.8. Biblioteki współdzielone ...................................................................... 425 11.6.Zarządzanie zależnościami — make ................................................................... 425 11.6.1. Pliki powiązań ...................................................................................... 426 11.6.2. Porządek reguł ...................................................................................... 427 11.6.3. Uruchamianie make .............................................................................. 428 11.6.4. Reguły powiązań .................................................................................. 429 Spis treści 15 11.6.5. Wymuszanie kompilacji ....................................................................... 429 11.6.6. Makra .................................................................................................... 430 11.6.7. Obsługa archiwum za pomocą make .................................................... 431 11.6.8. Inne możliwości make .......................................................................... 432 11.7. Program profilujący GNU — gprof .................................................................... 432 11.8.Szukanie błędów w programie — gdb ................................................................ 433 11.8.1. Przygotowywanie programu do debugowania ..................................... 434 11.8.2. Uruchamianie debuggera ...................................................................... 435 11.8.3. Uruchamianie programu ....................................................................... 435 11.8.4. Wyświetlanie kodu źródłowego ........................................................... 436 11.8.5. Ustawianie punktów wstrzymania ........................................................ 437 11.8.6. Wykonywanie krokowe ........................................................................ 439 11.8.7. Sprawdzanie wartości zmiennych ........................................................ 439 11.8.8. Olśnienie ............................................................................................... 441 11.9. Gdy już skończyłeś — strip ................................................................................ 442 Rozdział 12. Programowanie systemu ............................................................... 445 12.1. Wprowadzenie .................................................................................................... 446 12.2. Obsługa błędów — perror() ................................................................................ 448 12.3. Zarządzanie zwykłymi plikami ........................................................................... 450 12.3.1. Elementarz zarządzania plikami ........................................................... 450 12.3.2. Pierwszy przykład — wspak ................................................................ 452 12.3.3. Jak działa nasz program? ...................................................................... 453 12.3.4. Listing wspak.c ..................................................................................... 454 12.3.5. Otwieranie pliku — open() ................................................................... 459 12.3.6. Odczyt pliku — read() .......................................................................... 461 12.3.7. Zapis do pliku — write() ...................................................................... 462 12.3.8. Zmiana pozycji w pliku — lseek() ....................................................... 462 12.3.9. Zamykanie pliku — close() .................................................................. 464 12.3.10. Usuwanie pliku — unlink() .................................................................. 464 12.3.11. Drugi przykład — monitor ................................................................... 465 12.3.12. Jak działa program monitor? ................................................................ 466 12.3.13. Listing monitor.c .................................................................................. 467 12.3.14. Uzyskiwanie informacji o pliku — stat() ............................................. 473 12.3.15. Odczytywanie informacji o katalogu — opendir(), readdir() i closedir() 475 12.3.16. Inne wywołania systemowe związane z zarządzaniem plikami ........... 475 12.3.17. Zmiana właściciela i (lub) grupy pliku — chown() ............................. 475 12.3.18. Zmiana praw dostępu do pliku — chmod() .......................................... 477 12.3.19. Powielanie deskryptora pliku — dup() ................................................ 477 12.3.20. Operacje na deskryptorze pliku — fcntl() ............................................ 478 12.3.21. Sterowanie urządzeniami — ioctl() ...................................................... 480 12.3.22. Tworzenie dowiązań twardych — link() .............................................. 480 12.3.23. Tworzenie plików specjalnych — mknod(), mkdir() i mkfifo() .......... 481 12.3.24. Opróżnianie bufora systemu plików — sync() ........................................ 482 12.3.25. Zmiana rozmiaru pliku — truncate() .................................................... 482 12.4. Zarządzanie procesami ....................................................................................... 483 12.4.1. Tworzenie nowego procesu — fork() .................................................. 484 12.4.2. Procesy osierocone ............................................................................... 486 12.4.3. Kończenie procesu — exit() ................................................................. 487 12.4.4. Procesy zombie ..................................................................................... 487 12.4.5. Oczekiwanie na proces potomny — wait() .......................................... 488 12.4.6. Różnicowanie procesu — exec() .......................................................... 489 12.4.7. Zmiana katalogu — chdir() .................................................................. 490 12.4.8. Zmiana priorytetu — nice() ..............
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Linux dla programistów i użytkowników
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: